自定义首页模板

默认情况下,WordPress会在站点首页按时间倒序显示您最近的帖子。许多WordPress用户想要一个静态首页或启动页作为首页。这种“静态首页”外观对于希望在站点首页上显示静态或欢迎信息的用户来说很常见。

网站首页的外观取决于用户的选择以及WordPress主题的功能和选项。

自定义首页的模板层次结构

在站点首页上,WordPress将始终使用前页面.php模板文件(如果存在)。如果前页面.php不存在,WordPress将根据用户配置决定使用哪个模板文件设置>阅读>首页显示如下:

自定义网站首页模板

要创建自定义网站首页模板,请在主题中包含以下内容之一:

自定义博客帖子索引页模板

要创建自定义博客文章索引模板,请在主题中包含以下内容:

  • 家用.php

仅使用家用.php博客文章索引的模板文件。不要使用自定义页面模板(例如模板-blog.php)有两个原因:

  1. 如果正确配置了静态首页功能,WordPress将不会使用自定义页面模板来显示博客文章索引,即使将自定义页面模板分配给指定为“文章页面”的页面也是如此。WordPress将只有使用其中之一家用.php索引.php.
  2. 当自定义页面模板被分配给指定为“帖子页面”以外的静态页面时,博客帖子索引循环分页将无法正常工作。

上下文条件标记

是前台页面

这个条件标记 is_front_page()检查是否显示了站点首页。无论“设置>阅读->“首页显示”设置为“您的最新帖子”或“静态页面”。

是家(_H)

这个条件标记 is_home()检查是否显示博客文章索引。当显示博客文章索引时返回true:当显示网站首页和'设置>阅读->首页显示“设置为“您的最新帖子”,或何时”设置>阅读->“Front page displays”设置为“A static page”,“Posts page”值为当前值第页正在显示。

当显示站点首页时设置>阅读->“首页显示”设置为“您的最新帖子”is_front_page() is_home() 将返回true。

front-page.php的配置

如果存在前页面.php无论“设置>阅读->“首页显示”设置为“静态页面”或“您的最新帖子”,主题需要考虑这两个选项,以便网站首页显示静态页面或博客帖子索引。有几种方法可以做到这一点。

front-page.php中的条件显示

一种允许前页面.php考虑“设置>阅读->“首页显示”是在前页面.php自身,使用获取选项('show_on_front')获取主页模板()、和获取页面模板().

方法1:直接在中包含自定义内容前页面.php:

if('posts'==get_option('show_on_front')){包含(get_home_template());}其他{//此处显示自定义内容标记}

方法2:包括任何页面模板:
if('posts'==get_option('show_on_front')){包含(get_home_template());}其他{include(get_page_template());}

筛选frontpage_template

允许站点首页显示静态页面/自定义内容或博客帖子索引的另一种方法,无需在中添加条件代码前页面.php,是为了滤波器首页_模板,通过将筛选器回调添加到函数.php:

函数主题lug_filter_front_page_template($template){返回is_home()?“”:$模板;}add_filter(‘frontpage_template’,‘themeslug_filter_front_page_template');

此方法使WordPress绕过前页面.php当博客文章索引被显示时,模板文件。

将自定义查询循环添加到front-page.php

如果前页面.php模板文件包含默认值WordPress循环,如下所示:

<?php(电话)if(have_posts()):while(haver_posts)):the_post();//做点什么endwhile;其他://找不到帖子endif;

该循环应用于分配给“设置>阅读->发布页面”。

要显示自定义循环(最新博客帖子、自定义/特色内容等),请使用调用添加二级循环查询WP_查询。例如,要显示最新的3篇博客帖子:

$latest_blog_posts=新WP_Query(数组('posts_per_page'=>3));如果($latest_blog_posts->have_posts();post();//此处显示循环输出endwhile;endif;

分页

静态首页不用于分页。没有WordPress上一页/下一页链接函数与静态首页一起工作。静态首页上的分页使用第页查询变量,而不是已分页变量。请参阅WP_查询了解详细信息。