我有一个付费主题,它有以下手动硬编码的功能。它将调出8条最新帖子并显示它们:
global $do_not_duplicate;
global $post;
query_posts( array(
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );
我已经看过了
this page 并试图修改代码以仅显示新闻类别中的帖子(类别编号1):
global $do_not_duplicate;
global $post;
// Attempt 1
query_posts( array(
\'cat=1\',
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );
// Attempt 2
query_posts( array(
\'category=1\',
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );
// Attempt 3
query_posts( array(
\'category\' => array(1),
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );
// Attempt 4
query_posts( array(
\'cat=news\',
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );
什么都没用。返回了所有职类最近8个员额的同一名单。
最合适的回答,由SO网友:Howdy_McGee 整理而成
这个query_posts()
功能几乎完全没有必要,不鼓励使用WP_Query()
. 尽管如此,我们可以看看WP_Query()
docs 因为它们几乎是一样的。
这个cat
参数接受逗号分隔的字符串或整数。在这种情况下,我们可以使用:
query_posts( array(
\'cat\' => 1,
\'posts_per_page\' => \'8\',
\'post__not_in\' => $do_not_duplicate,
\'ignore_sticky_posts\' => 1
) );