我试图链接到我博客中的特定类别,但限制列出的帖子数量。
我可以通过“www.example.com/?cat=6”链接到特定类别,在浏览完网站(wordpress.org和本网站)后,我想我可以用“www.example.com/?cat=6和showposts=5”来限制帖子数量,但。。。
“&;showposts=5”没有返回我期望的结果,我是否正确使用了“showposts”?有更好的吗?
如果没有,我如何构建我的url以仅显示特定数量的帖子?
虽然我可以访问主题和循环,但我不想编辑它,也不想安装一些插件,我的提要很完美,我只想为这种类型的用例建立一个链接。
最合适的回答,由SO网友:Milo 整理而成
showposts
是的别名posts_per_page
, 这是一个私有查询变量,意味着不能从查询字符串中设置它。您可以注册自己的查询var并将其映射到posts_per_page
在a中pre_get_posts
行动这可以放在你的主题中functions.php
并可用于任何主查询。
// add a new query var to the list of known query vars
function wpd_custom_posts_queryvar( $vars ){
$vars[] = \'wpd-num\';
return $vars;
}
add_filter( \'query_vars\', \'wpd_custom_posts_queryvar\' );
// hook pre_get_posts and set posts_per_page
// if it\'s the main query and our custom query var is set
function wpd_custom_posts_number( $query ){
if( $query->is_main_query() && $query->get( \'wpd-num\' ) ){
$query->set( \'posts_per_page\', $query->get( \'wpd-num\' ) );
}
}
add_action( \'pre_get_posts\', \'wpd_custom_posts_number\' );