WordPress循环:如何排除一些带有状态的帖子?

时间:2018-02-21 作者:ferdi_

我在一个网站上工作,我做了一个循环,显示所有帖子甚至草稿。我想避免这样,所以我\'post_status\' => \'publish\', 但它不起作用。有人能帮我吗?

 <?php

                global $actu_pageId;
                if (get_the_ID() == $actu_pageId) {
                    $posts = new WP_Query(array(\'post_status\' => \'publish\', \'posts_per_page\' => 9));

                } else {
                    $posts = new WP_Query(array(\'posts_per_page\' => 9, \'post_status\' => \'publish\', \'category_name\' => get_field(\'categorie\')));
                }
                if ($posts->have_posts()) {

                    global $posts;
                    while ($posts->have_posts()) {
                        $posts->the_post();

                        get_template_part(\'template-parts/posts_archive\');
                    }

                } else {
                    // no posts found
                }
                ?>

1 个回复
SO网友:Peter HvD

你有电话global $posts; 这可能是拉取了一个在其他地方定义的全球化$posts变量,从而覆盖了您刚才创建的变量。删除该行或将变量名称更改为唯一的名称。

结束

相关推荐

从gensis_loop中删除gensis_404挂接

我正在使用genesis主题,我想定制一个404页面。为此,我希望删除默认的404钩子并实现我自己的钩子。在我的插件函数中。php我添加了我的操作:add_action( \'genesis_loop\', \'genesis_customizations_404\' ); 在函数中,我添加了删除:function genesis_customizations_404() { echo \'test\'; remove_action(\'genesis_loop\',