获取要从数组中排除的帖子

时间:2018-08-26 作者:Wojciech Wyszyński

我有一个数组,其中键是帖子ID,值是帖子标题。

$options = [];
$args = array(
    \'posts_per_page\'   => -1,
    \'fields\'           => \'\',
);
$posts = get_posts( $args );
foreach( $posts as $post ) : setup_postdata( $post );
$options[ $post->ID ] = $post->post_title;
wp_reset_postdata(); endforeach;
return $options;
这个数组工作得很好,我可以在后端使用它来选择我不想从特定查询中排除的帖子,但它在前端不起作用,因为它只从数组中排除第一篇帖子。

在查询中,它如下所示:

$posts_to_exclude = ! empty( $settings[\'posts_to_exclude\'] ) ? $settings[\'posts_to_exclude\'] : \' (choose post) \'; 

$exclude_posts = implode(", ", $posts_to_exclude);
print $exclude_posts;
然后在WP查询数组中:

$args = array(
   \'posts_per_page\' => $settings[\'posts_count\'],
   \'cat\' => $posts_category,
   \'post__not_in\' => array($exclude_posts),
);\'
我不知道我会做错什么。有人能救我吗?

1 个回复
SO网友:Andrea Somovigo

简单地说,不要“内爆”您的阵列,因为implode() 返回字符串并post__not_in 接受数组

结束

相关推荐

将用户输入保存到PHP变量

当用户进入我的网站时,第一个页面将询问他们的姓名。我想为每个用户提供量身定制的体验。如何将此文本输入保存到PHP变量中,以便在任何页面上显示其名称?例如,如果用户单击“联系我们”,页面将根据他们最初输入的名称对他们进行寻址。编辑:我正在使用联系人表单7,希望使用用户的答案生成URL。也许有更好的解决方案?