首页建站经验 为你的WordPress网站模板框架建立起始文件

为你的WordPress网站模板框架建立起始文件

在之前的课程中,您已经了解并学习了主题框架的工作方式和开发途径。现在是时候深入探讨一些代码了!在本教程中,您会采用一个基本的主题,然后编辑模板文件,为主题框架添加相关挂钩…

在之前的课程中,您已经了解并学习了主题框架的工作方式和开发途径。

现在是时候深入探讨一些代码了!

在本教程中,您会采用一个基本的主题,然后编辑模板文件,为主题框架添加相关挂钩和函数做好准备。本教程旨在整理主题,减少代码重复,这意味着您要为循环建立包含文件(include files)。

您将不必在子主题中创建重复循环,当您创建新的模板文件时,或者您需要编辑循环时,您只需做一次就行了。

您需要做的是

跟随本教程,您需要

安装一个WordPress开发环境

GitHub库相关系列中的起始文件或者起始主题文件

一个代码编辑器

为循环建立包含文件

我会为我的框架建立三个循环:

一个用于存档(包括主博客页面)

一个用于单篇文章

一个用于页面

这是因为我想让其中的每一个循环与其他的显示起来都略有不同。

尽管将会有三个循环,但相比较于每一个模板文件中都包含一个循环而言,这会更加高效。

主循环

主循环会用于存档和主博客页面。在您的主题文件夹中,创建一个名为loop.php的文件。

从archive.php中将下列代码复制到loop.php文件中:

<?php

/* Queue the first post, that way we know if this is a date archive so we can display the correct title.

* We reset this later so we can run the loop properly with a call to rewind_posts().

*/

if ( have_posts() )

the_post();

?>

<?php if ( is_day() ) { ?>

Archive for <?php echo get_the_date();

}

elseif ( is_month() ) { ?>

Archive for <?php echo get_the_date('F Y');

}

elseif ( is_year() ) { ?>

Archive for <?php echo get_the_date('Y');

}

else {

echo get_queried_object()->name;

} ?>

<?php rewind_posts(); ?>

<?php // start the loop ?>

<?php while ( have_posts() ) : the_post(); ?>

<?php endwhile; ?>

<?php // ends the loop ?>

您并不需要去显示主博客页面上的标题,所以在第一个循环上添加一个条件标签,以检查我们是不是该网页上:

if ( ! is_front_page() ) {

}

第一个循环当前会如下所示:

if ( ! is_front_page() ) {

if ( have_posts() )

the_post();

?>

<?php if ( is_day() ) { ?>

Archive for <?php echo get_the_date();

}

elseif ( is_month() ) { ?>

Archive for <?php echo get_the_date('F Y');

}

elseif ( is_year() ) { ?>

Archive for <?php echo get_the_date('Y');

}

else {

echo get_queried_object()->name;

} ?>

<?php rewind_posts();

} ?>

现在,您需要在相关网站模版文件中包含这个循环。在archive.php和index.php文件中,将现有的循环替换为get_template_part()标签,其中包含了您的循环文件:

<?php get_template_part( 'loop' ); ?>

现在您有了一个用于存档的工作循环。

页面循环

接下来,您将为页面创建一个循环文件。创建一个名为loop-page.php的文件。

从现有的page.php文件中将下列循环代码复制到loop-page.php文件:

<?php

// Run the page loop to output the page content.

if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

>

<?php if ( ! is_front_page() ) { ?>

<?php the_title(); ?>

<?php } ?>

<?php the_content(); ?>

<?php endwhile; ?>

现在在主题的所有页面模板中(page.php 和 page-full-width.php),使用下面的代码替换循环:

<?php get_template_part( 'loop' , 'page' ); ?>

文章页循环

最后,您将为单篇文章页面创建一个循环文件,用于普通的文章和您将来创建的任何自定义的文章类型。这和主循环是相似的,只是它不包括该文章的链接,也没有初始循环,用来检查我们的存档情况。

建立一个名为loop-single.php和另一个名为single.php的文件。

将index.php文件中的内容复制到single.php文件,并在文件的初始位置编辑说明和循环,如下所示:

<?php get_template_part( 'loop', 'single' ); ?>

现在,在single-loop.php文件中,复制代码到loop.php文件,不包括查询档案的第一个循环。在循环内编辑初始标题标签并取消链接,代码如下:

<?php while ( have_posts() ) : the_post(); ?>

<?php endwhile; ?>

保存这两个文件。现在,所有的循环文件您都准备好了。

小结

从长远来看,使用一个主题框架之前,先整理主题并减少代码重复将会节省下不少的工作时间。

当您开始创建子主题并和父主题一起使用时,您会发现自己在建立自定义循环的同时,也在以一种完全正确的方式完成一个给定项目的内容。有了三个独立的循环,您就会避免在子主题中建立重复的模板文件,因为您只需要建立重复循环文件就行了。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/18155.html
上一篇phpcms教程:推荐位如何显示自定义字段
下一篇 PHP技术开发微信公众平台
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部