向侧边栏小部件添加过滤器,wordpress posts_per_page

时间:2013-05-03 11:05:49

标签: php wordpress

嗨,我想知道如何改变posts_per_page的数量。 default-widgets.php中的widget()函数包含此行..

$r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'cat' => 1, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true ) ) );

变量$number在此行之前设置为10,但我宁愿为posts_per_page插入我自己的过滤器并将其更改为1.

但我不确定如何为此添加过滤器,我现在只学习钩子和过滤器。据我所知,有一个posts_per_page数组,但我不知道如何更改它。

function recent_post_count() {
$query->set('posts_per_page', 1);
}
add_filter( 'widget_posts_args', 'recent_post_count', 6); 

1 个答案:

答案 0 :(得分:1)

你使用了错误的论点。

function recent_post_count($args) {
  $args['posts_per_page'] = 5;
  return $args;
}
add_filter( 'widget_posts_args', 'recent_post_count');