Jetpack插件-‘post_per_page’不覆盖‘博客页面最多显示’选项,不同的帖子类型也有不同的值吗?

时间:2013-12-20 作者:Sarah

我已经安装了Jetpack,我有无限卷轴在我的主题上工作,但是posts_per_page 没有效果,最初显示和加载的帖子数是我在设置中的“博客最多显示”数;读数为5。

function mytheme_render_infinite_scroll() {
    while ( have_posts() ) : the_post();
            if (\'mytheme_custom_post_type\' == get_post_type()) :
                get_template_part( \'content\', \'archive-custom\' );
            else :
                get_template_part( \'content\', get_post_format() );
            endif;
    endwhile;
}

function mytheme_jetpack_setup() {
    add_theme_support( \'infinite-scroll\', array(
        \'container\'      => \'content\',
        \'footer_widgets\' => \'footer-widgets\',
        \'type\'           => \'click\',
        \'render\'         => \'mytheme_render_infinite_scroll\',
        \'wrapper\'        => true,
        \'posts_per_page\' => \'15\'
    ) );
}
我还根据当前帖子类型使用的内容呈现不同的内容模板mytheme_render_infinite_scroll 上述功能。如果我能设置posts_per_page 根据文章类型,值也会有所不同,例如,在博客存档中每页显示5篇文章,但在存档页上每页显示15篇文章mytheme_custom_post_type. 我不知道如何做到这一点,我的尝试是:

function mytheme_render_infinite_scroll() {
    while ( have_posts() ) : the_post();
            if (\'mytheme_custom_post_type\' == get_post_type()) :
                get_template_part( \'content\', \'archive-custom\' );
            else :
                get_template_part( \'content\', get_post_format() );
            endif;
    endwhile;
}

function mytheme_infinite_scroll_posts_per_page()
    while ( have_posts() ) : the_post();
        if (\'mytheme_custom_post_type\' == get_post_type()) :
            return 15;
        else :
            return 5;
        endif;
endwhile;

function mytheme_jetpack_setup() {
    add_theme_support( \'infinite-scroll\', array(
        \'container\'      => \'content\',
        \'footer_widgets\' => \'footer-widgets\',
        \'type\'           => \'click\',
        \'render\'         => \'mytheme_render_infinite_scroll\',
        \'wrapper\'        => true,
        \'posts_per_page\' => \'mytheme_infinite_scroll_posts_per_page\'
    ) );
}
add_action( \'after_setup_theme\', \'mytheme_jetpack_setup\' );
。。。但我不知道这是否可行,Jetpack可能不是用来处理这个问题的!也无法测试它,因为正如我上面所说posts_per_page 参数没有任何效果。

Jetpack支持文档如下:http://jetpack.me/support/infinite-scroll/

EDIT: 我做了一些测试,得出的结论是Jetpack是为了posts_per_page 参数仅在type 未设置为click. 我在任何文档中都找不到这一点,所以我可能错了,但我posts_per_page 使用\'type\' => \'scroll\' 但不是用\'type\' => \'click\'

1 个回复
最合适的回答,由SO网友:Sarah 整理而成

插件作者在Wordpress支持论坛上确认posts_per_page 仅当type 设置为scroll 而不是click, 看见http://wordpress.org/support/topic/posts_per_page-not-having-any-effect?replies=5#post-5058675

结束

相关推荐

Pagination for event query

我正在使用Modern Tribe Events Calendar我的问题是分页。这是对WP\\U查询分页的错误方式,还是有其他方法可以对事件日历分页?我找到了一个tutorial 这使用了WPNavi插件,但我想使用核心wordpress函数。<?php $upcoming = new WP_Query(); $upcoming->query( array( \'post_type\'=> \'tribe_events\', \'eve