WordPress wp_Query()有关参数的基本问题

时间:2019-06-06 作者:Gibson Tran

有人能告诉我这三个查询语句的比较吗:

1/是否为在线代码?我不知道它叫什么。

$getposts->query(\'post_type=projects&taxonomy=projects_categories&post_status=publish&showposts=-1&field=term_id&terms=\'.$cat_id);
2个/

$args2 = array(
                        \'post_type\' => \'projects\',
                        \'taxonomy\' => \'projects_categories\',
                        \'posts_per_page\' => 9,
                        \'orderby\' => \'date\',
                        \'order\'   => \'DESC\',
                        \'terms\' => $cat_id,

             ); 
$getposts->query($args2);
3个/

$args3 = array(
          \'posts_per_page\' => 9,
          \'orderby\' => \'date\',
          \'order\'   => \'DESC\',
          \'post_type\' => array (
                            \'projects\' => \'projects\',
                          ),
           \'tax_query\' => array(
                array(
                  \'taxonomy\' => \'projects_categories\',
                  \'terms\' => $cat_id,
                )
            )
        );
$getposts->query($args3);
为什么我的第一个和第二个代码在我的情况下不起作用。我必须使用第三个来显示属于分类法且具有$cat\\u id的所有帖子(自定义帖子类型)

我在google和其他人都有同样的问题,他们无法在分类法中显示帖子。最后,他们使用了一些类似于第三个代码的代码。有人能告诉我如何来回切换以及何时使用第一、第二或第三个查询吗。

为什么有时我们使用“每页post\\u”,有时我们使用“showposts”?

非常感谢。

1 个回复
SO网友:MikeNGarrett

您的第三个选项是正确的。

$args3 = array(
    \'posts_per_page\' => 9,
    \'orderby\'        => \'date\',
    \'order\'          => \'DESC\',
    // If you\'re only specifying one. Use array( \'projects\', \'post\' ); for many.
    \'post_type\'      => \'projects\',
    // This is the correct syntax for a taxonomy query. 
    \'tax_query\'      => array(
        array(
            \'taxonomy\' => \'projects_categories\',
            \'terms\'    => $cat_id,
        ),
    ),
);
$getposts->query( $args3 );
您在此处发布的其他选项是对自定义分类查询不再有效的旧方法。始终参考WP_Query Codex 以确保使用最新的参数。

至于你的第二个问题,posts_per_page 已替换showposts. showposts 不再有效。

相关推荐

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

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