如果NumerPost=-1偏移不起作用

时间:2018-09-27 作者:Jason

我对我构建的一个短代码有问题。短代码根据某些参数提取最近的帖子。以下是参数

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左右,那么偏移量就可以了。

有没有办法抓住剩下的帖子,仍然使用偏移量?

1 个回复
最合适的回答,由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-第次。

结束

相关推荐

Shortcode with foreach

我不能对foreach使用shortcode。它给了我语法错误。我错在哪里?function create_galeri_shortcode($atts) { $atts = shortcode_atts( array( ), $atts, \'galeri\' ); if ( has_post_format( \'gallery\' )) { $images = get_post_