我定制了索引。php显示6篇文章:
<?php
// Get header
get_header(); ?>
<div id="primary">
<?php // Begin paginate and loop
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query(\'showposts=6\'.\'&paged=\'.$paged);
if ($wp_query->have_posts()) : while ( have_posts() ) : $wp_query->the_post();
?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; // End while ?>
<nav>
<?php previous_posts_link(\'« Newer Posts\') ?>
<?php next_posts_link(\'Older Posts »\') ?>
</nav>
<?php // Reset
$wp_query = null;
$wp_query = $temp;
?>
<?php else: ?>
<p><?php _e(\'Please add some posts.\'); ?></p>
<?php endif; // End loop and primary ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
为了正确工作,我需要将“博客页面最多显示”从10篇帖子设置为6篇。
由于我正在构建的主题将在多站点环境中使用,我想将默认阅读设置设置为6篇文章。是否可以通过功能更改默认设置。php?
我看了一下选项阅读。WordPress核心中的php。第126行显示以下内容:
<?php _e( \'Blog pages show at most\' ); ?>
如果不更新WP Admin中的设置页面,更改此值显然不会更新数据库值。
如果你能给我指出正确的方向,那就太好了。
最合适的回答,由SO网友:TheDeadMedic 整理而成
您可以使用wpmu_new_blog
自动将新安装的默认值设置为6的操作:
function wpse_139900_default_posts_per_page( $blog_id ) {
update_blog_option( $blog_id, \'posts_per_page\', 6 );
}
add_action( \'wpmu_new_blog\', \'wpse_139900_default_posts_per_page\' );
如果您不希望用户能够更改此设置,您可以替代它:
function wpse_139900_posts_per_page() {
return 6;
}
add_filter( \'pre_option_posts_per_page\', \'wpse_139900_posts_per_page\' );
无论哪种方式,都不应该在默认循环的顶部使用自己的查询,这只是不必要的开销,可以通过调整主查询来避免。