默认情况下,WordPress在网站的头版上以相反的时间顺序显示您的最新帖子。许多WordPress用户想要一个静态的首页或溅水页面作为首页。这种“静态头版”外观对于希望在网站的首页上静态或热情信息的用户来说是常见的。
网站首页的外观和感觉是基于用户的选择与WordPress主题的功能和选项相结合的。
自定义首页的模板层次结构
在网站首页上,WordPress将始终使用前页如果存在模板文件。如果前页不存在,WordPress将确定要使用的模板文件,具体取决于用户配置 设置> 阅读>首页显示,如下所示:
- 静态页面:WordPress使用 静态页面 模板层次结构:
- 自定义页面模板
- page- {id} .php
- page- {slug} .php
- Page.php
- index.php
- 您的最新帖子:WordPress使用 博客文章索引 模板层次结构:
- home.php
- index.php
自定义站点头版模板
要创建自定义站点的头版模板,请在主题中包含以下任何一个:
- 前页
- A 自定义页面模板(例如。featpeatured.php用于特色内容)
自定义博客文章索引页面模板
要创建自定义博客文章索引模板,请在主题中包含以下内容:
- home.php
仅使用home.php博客文章索引的模板文件。请勿使用自定义页面模板(例如template-blog.php)有两个原因:
- 当正确配置“静态头版”功能时,即使将自定义页面模板分配给指定为“帖子页面”的页面,WordPress也不会使用自定义页面模板显示博客帖子索引。WordPress会仅有的都使用home.php或者index.php。
- 当自定义页面模板被分配给静态页面外,除了指定为“帖子页面”的页面之外,博客帖子索引循环分页将无法正常工作。
上下文条件标签
is_front_page
这 条件标签is_front_page() 检查网站首页是否正在显示。在显示网站头版时,返回正确,无论是否 设置> 阅读 – >首页显示器设置为“您的最新帖子”或“静态页面”。
is_home
这 条件标签is_home() 检查博客文章索引是否正在显示。显示博客帖子索引时返回true:显示网站首页时 设置> 阅读 – >首页显示器设置为“您的最新帖子”,或者当’ 设置> 阅读 – >首页显示器设置为“静态页面”,“帖子页面”值是当前 页 被展示。
显示站点头版时,设置> 阅读 – >首页显示器设置为“您的最新帖子”,两者都is_front_page()和is_home()将返回true。
pront-page.php的配置
如果存在,前页模板文件在网站的首页上使用,无论是否 设置> 阅读 – >首页显示器设置为“静态页面”或“您的最新帖子”,主题将需要考虑这两个选项,因此站点首页将显示静态页面或博客文章索引。有几种方法可以这样做。
在前页面中有条件显示
一种允许的方式前页考虑两个选项的 设置> 阅读 – >首页显示器是在内部添加条件的前页本身,使用 get_option('show_on_front'),get_home_template(),和 get_page_template()。
方法1:直接包含自定义内容前页:
if ( 'posts' == get_option( 'show_on_front' ) ) {
include( get_home_template() );
} else {
// Custom content markup goes here
}
方法2:包括任何页面模板:
if ( 'posts' == get_option( 'show_on_front' ) ) {
include( get_home_template() );
} else {
include( get_page_template() );
}
过滤FrontPage_template
允许站点首页显示静态页面/自定义内容或博客文章索引的另一种方法,而无需在其中添加条件代码前页,是 筛选FrontPage_template,通过将过滤器回调添加到functions.php:
function themeslug_filter_front_page_template( $template ) {
return is_home() ? '' : $template;
}
add_filter( 'frontpage_template', 'themeslug_filter_front_page_template' );
此方法使WordPress绕过前页当博客帖子索引显示时,模板文件完全。
将自定义查询循环添加到front-page.php
如果是前页模板文件包括默认文件 WordPress循环,这样:
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
// do something
endwhile; else:
// no posts found
endif;
该循环适用于分配给’的静态页面的帖子内容 设置> 阅读 – >帖子页面’。
要显示自定义循环(最新的博客文章,自定义/特色内容等),请使用呼叫添加辅助循环查询 wp_query。例如,显示3个最新博客文章:
$latest_blog_posts = new WP_Query( array( 'posts_per_page' => 3 ) );
if ( $latest_blog_posts->have_posts() ) : while ( $latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post();
// Loop output goes here
endwhile; endif;
分页
静态前页面不打算分页。没有WordPress 上一页 /下一页链接 功能可与静态头版一起使用。静态头版上的分页使用页查询变量,而不是分页多变的。看到 wp_query 有关详细信息。