我无法用postsposts替换posts_per_page以限制列表中返回的帖子数量.当我使用showposts时,根据我在showposts限制器中指定的帖子数量,正确显示结果菜单列表.但是,当我使用posts_per_page时,后限制器编号似乎无关紧要.结果列表显示所有帖子,超过限制器数.
例子:
这非常有效:
$myrecentposts = get_posts(array('post_not_in' => get_option('sticky_posts'), 'cat' => "-$cat,-$catHidden",'showposts' => $cb2_recent_count));
foreach($myrecentposts as $idxrecent=>$post) {
Run Code Online (Sandbox Code Playgroud)
但是,当我在posts_per_page中进行子操作时,这不起作用......
$myrecentposts = get_posts(array('post_not_in' => get_option('sticky_posts'), 'cat' => "-$cat,-$catHidden",'posts_per_page' => $cb2_recent_count));
foreach($myrecentposts as $idxrecent=>$post) {
Run Code Online (Sandbox Code Playgroud)
*我只是想让posts_per_page工作,因为我知道showposts已被弃用.
showposts 已弃用.但是,posts_per_page是用于query_posts(),或更具体地说WP_Query::query().
numberposts是等价的论据get_posts().
注意:我删除了有关错误处理内部参数的原始答案get_posts().
posts_per_pageget_posts()出于语义原因,它不是一个有效的论据,因为它表明了分页的想法,这get_posts()是不支持的.
为了清楚起见,并代表@ RichardM的评论,这里是我最初写的那个瘦小的;
这get_posts()取决于如何在传递参数之前解析参数WP_Query.
我把它简化为真正的基础知识;
function get_posts($args = null)
{
$defaults = array('numberposts' => 5);
$r = wp_parse_args($args, $defaults);
if (!empty($r['numberposts']))
$r['posts_per_page'] = $r['numberposts'];
$get_posts = new WP_Query;
return $get_posts->query($r);
}
Run Code Online (Sandbox Code Playgroud)
看看如何numberposts覆盖posts_per_page,而不是计算posts_per_page正在传递的条件?
| 归档时间: |
|
| 查看次数: |
14509 次 |
| 最近记录: |