提取序列化数组以用于wp查询

时间:2017-12-20 作者:Michel

我使用wp查询,我需要使用作者id按作者显示帖子。

这是序列化数组:

a:19:{i:0;s:2:"89";i:3;s:3:"105";i:4;s:2:"74";i:5;s:3:"111";i:6;s:3:"167";i:7;s:2:"83";i:8;s:2:"54";i:9;s:2:"87";i:10;s:2:"85";i:11;s:2:"77";i:13;s:2:"82";i:14;s:2:"60";i:15;s:3:"149";i:16;s:3:"160";i:17;s:2:"71";i:18;s:1:"3";i:19;s:1:"2";i:20;s:3:"121";i:21;s:2:"57";}
此数组包含作者id,因此我的问题是如何通过使用序列化数组使用wp查询“author”或“author\\uu in”?

像这样:

$first_post_ids = get_posts( array(
    \'fields\'         => \'ids\',
    \'post_type\'      => \'the_posts\',
    \'author__in\'      => get_user_meta($current_user->ID, \'following_users\', true)
));

1 个回复
最合适的回答,由SO网友:Shibi 整理而成

你需要unserialize() 如果其序列化字符串。

在您的情况下,据我所知,您将数组存储在user\\u meta中,以便在存储时将其序列化。但当您使用get_user_meta 所以你不需要unserialize()

您的代码似乎很好。

$author_in = get_user_meta($current_user->ID, \'following_users\', true);
$first_post_ids = get_posts( array(
    \'fields\'         => \'ids\',
    \'post_type\'      => \'the_posts\',
    \'author__in\'      => $author_in
));

结束