我已经安装了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\'