如何查询标准岗位格式的岗位。真的

时间:2014-07-07 作者:Alevalentini

所以,我到处找。我尝试了各种组合。到目前为止,什么都没有。我必须查询两篇帖子才能显示在我的首页上,帖子类型不是一个类别,而是标准的帖子格式。我使用wp 3.9.1。这是我使用的语法:

$query = new WP_Query( array(
            \'post_type\' => \'post\',
            \'cat\' => \'-1\',
            \'posts_per_page\' => 2,
            array(
                \'taxonomy\' => \'post_format\',
                \'field\' => \'slug\',
                \'terms\' => array( \'post-format-gallery\', \'post-format-video\' ),
                \'operator\' => \'NOT IN\'
                )
        ) );
这根本不起作用。我得到了两个结果,但视频和图库格式没有得到处理。我还试着使用tax_query => array (.....) 没有任何结果。

在第一种情况下$query->have_posts 返回所有格式的所有帖子。在第二种情况下,它根本不返回任何内容。

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

看起来您的语法对于税务查询有点不合适。尝试以下操作:

$query = new WP_Query( array(
        \'post_type\' => \'post\',
        \'cat\' => \'-1\',
        \'posts_per_page\' => 2,
        \'tax_query\' => array( array(
            \'taxonomy\' => \'post_format\',
            \'field\' => \'slug\',
            \'terms\' => array(\'post-format-aside\', \'post-format-gallery\', \'post-format-link\', \'post-format-image\', \'post-format-quote\', \'post-format-status\', \'post-format-audio\', \'post-format-chat\', \'post-format-video\'),
            \'operator\' => \'NOT IN\'
           ) )
       );
(旁白:如果您没有使用某些帖子格式,可以将其从“术语”数组中删除。但如果目标是只显示“正常”格式,您可能希望将其全部保留在那里,以防将来内容发生更改。)

SO网友:engelen

自WordPress 4.1以来,WP_Tax_Query 支持NOT EXISTS 用于分类查询的运算符。作为一篇文章,当且仅当它没有指定的格式时,才具有“标准”格式,this is now the preferred method to query posts with the Standard post format. 它还涵盖了将来/自定义的情况,其中可以添加、删除和更改post格式。生成的分类查询很简单:

array(
    \'taxonomy\' => \'post_format\',
    \'operator\' => \'NOT EXISTS\',
)
在示例查询中使用它,我们可以得到:

$query = new WP_Query( array(
    \'post_type\' => \'post\',
    \'cat\' => \'-1\',
    \'posts_per_page\' => 2,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'post_format\',
            \'operator\' => \'NOT EXISTS\',
        ),
    ),
);

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post