0

嗨,我想知道如何更改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); 
4

1 回答 1

1

你使用了错误的论点。

function recent_post_count($args) {
  $args['posts_per_page'] = 5;
  return $args;
}
add_filter( 'widget_posts_args', 'recent_post_count'); 
于 2013-05-03T11:10:58.700 回答