我对我构建的一个短代码有问题。短代码根据某些参数提取最近的帖子。以下是参数
extract( shortcode_atts( array (
\'numberposts\' => 6,
\'offset\' => 0,
\'featured\' => null,
\'trending\' => null,
\'showdate\' => null
), $atts ) );
$args = array(
\'numberposts\' => $numberposts,
\'offset\' => $offset,
\'category__not_in\' => array(391),
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'post\',
\'post_status\' => \'publish\'
);
我在主页上运行了三次这个短代码。第一次是这样的:(这篇抓住了最近的6篇文章)
[recent-articles-grid featured="1" trending="1" showdate="1"]
第二次是这样的:(这一次抓住了接下来的4篇文章)
[recent-articles-grid numberposts="4" offset="6" showdate="1"]
第三次是这样的:(这一次应该抓住剩下的文章减去前10篇)
[recent-articles-grid numberposts="-1" offset="10"]
我发现,当我对numberposts参数使用-1时,它会忽略offset参数。如果我把numberposts改为100左右,那么偏移量就可以了。
有没有办法抓住剩下的帖子,仍然使用偏移量?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
这个问题的解释很简单;)你只需要看看Codex page for WP_Query 并了解offset
参数:
offset (int)
- 要移位或越过的立柱数量。警告:设置偏移参数会覆盖/忽略分页参数并中断分页(单击此处可获得解决方法)。The \'offset\'
parameter is ignored when \'posts_per_page\'=>-1 (show all posts) is
used.
因此,恐怕没有简单的解决方法。背景posts_per_page
告诉WP您要查看所有帖子。所以,在方程中添加偏移量没有多大意义。
另一方面,如果您已经查询了所有帖子,那么您可以轻松地自己完成偏移部分-忽略即可N
第一个帖子(不太理想,但会有用)。
和-基于numberposts
你用这些get_posts
作用如果是这样的话,那么首先就更容易忽略N
帖子-只需从N
-第次。