有人能告诉我这三个查询语句的比较吗:
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”?
非常感谢。
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
不再有效。