WordPress基础教程

wordpress模板各文件函数解析

发布时间:2018-08-18 18:57:52

本文作者:

最后更新时间为 2018年8月18日

修改主题时发现好多WordPress主题函数都不了解,因此网上摘抄了一份放在自己博客上,便于以后好找。

在WordPress中如何按你的意愿显示页面,关键看你是否了解WordPress主题模板页面。这里所说的主题文件是指显示页面的主题文件,而非实现评论、侧边栏等功能的主题文件。大多数用户不使用WordPress安装时自带的默认主题,他们会在互联网上下载免费主题。这是一种设计博客版式的好方法,但不是所有主题开发者都用相同的方式编写主题。主题的表现很大程度上取决于开发者用在主题上的开发时间和对WordPress的了解。

下面我会为大家介绍设计主题页面的所有相关知识,通过这些下面的信息你甚至可以开始为自己设计一个主题。除非你是专家级的主题开发者,否则都可以从这里学到些新的东西。

WordPress如何工作

首先需要了解的是WordPress的模板层级,或者说是“WordPress调用页面的顺序”。 “index.php”是唯一一个所有WordPress主题的PHP文件中都必须具备的文件。“index.php”可以执行WordPress的所有单独功能。

每当有WordPress页面被调用时,WordPress的“引擎”会判断(通过排除法)页面的类型。 这类似于询问“我在哪儿?”。 WordPress回答“我在…类型的页面上”,然后以特定顺序调用页面。 WordPress找不到需要的PHP文件时,会使用“index.php”文件来代替所需文件。 WordPress首先会寻找以下九种基本页面:

首页

如果WordPress判断是在首页上,会先调用“home.php”文件然后再调用“index.php”。

日志页

如果是(单篇)日志页,首先调用“single.php”然后默认调用“index.php”。

“页面”页

如果是静态页面或“页面型”页面(应用了模板的页面),WordPress首先调用“pagetemplate.php”然后默认调用“index.php”。

“分类”页

如果WordPress判断是分类页,则首先调用该类别编号的页面,例如“category-7.php”。找不到相应文件时可以查找“category.php”(category.php可以用于所有类别页)。如果没有“category.php”则继续查找“archive.php”,最后默认调用“index.php”。

标签页

如果WordPress判断是标签页,会首先加载“tag-slug.php”文件,以具体的slug(别名)为标签名。如果标签是“wordpress hacks”,那么标签别名页就是“tag-wordpress-hacks.php”。如果加载不成,WP会继续查找“tag.php”文件,该文件可用于所有标签页,然后调用“archive.php”,最后默认调用 “index.php”。

作者页

博客拥有多个作者时,WP会首先寻找“author.php”文件以显示作者详情。如果没有“author.php”则继续查找“archive.php”,最后默认调用“index.php”。

存档页

WP为之前的日志加载信息页面时,同时也加载了存档页。 WP首先加载“date.php”,其次“archive.php”,最后默认加载“index.php”。

搜索页或404页

若WP判断是在搜索结果页或404(页面未找到)页,会尝试加载search.php或404.php文件。如果无法加载search.php或404.php,WP仍然默认加载“index.php”。

附件页

附件页是所有WordPress主题模板页面中使用次数最少的一种页面类型。 WordPress通常用这些特殊的附件页来加载若干信息,这些信息解释首先查找“image.php”, “audio.php”, “video.php”, 以及“application.php”的原因。然后WP查找“attachment.php”或“single.php”,如果这两个文件不可用,默认查找“index.php”。

WP主题模板内部运行情况

可以用单独的index.php文件来调用以上九种类型的页面,这在上面也提到过。也可以在一些条件标签中编写代码,我在这篇文章的结尾部分会告诉大家如何操作。一个页面中可能含有很多代码,有时甚至有些混乱,这样我们要修改代码来进行设计就不太方便了。

不过凑巧的是,就像WordPress查找九种基本页面一样,每个主题模板页面也包含九种基本的WordPress元素:

调用页眉

开启the loop(主循环)
调用永久链接与(若干)meta
用以通知WordPress应获取的信息的调用
用以获取获取文章内容或摘要的调用
(可能有)更多的meta
关闭the loop(主循环)
调用侧边栏
调用页脚
这是WordPress元素,能让这些元素运行的PHP代码分布在不同的地方,让你的主题版面和平面设计保持正常工作。下面我要详细介绍一下这些元素,以便大家进一步了解如何设计主题模板页面。

调用页眉,侧边栏以及页脚

这三种元素基本类似。 当你在模板中看到以下代码:

<?php get_header(); ?>

表明WordPress打开了“header.php”文件。 get_sidebar() (sidebar.php) 和 get_footer() (footer.php)也是同样的道理。你可能会有很多页眉、页脚和侧边栏,这时可以点击上面的“条件标签”查看相关内容。

开启the loop(主循环)

“Wordpress Loop”会在数据库中持续调用文件,直到WordPress终止调用。 “the loop”的结构随显示页面类型而变,WordPress尝试加载的每个基本类型页面都有一个“loop”。

下面是开启the loop的代码:

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

我们可以看到,代码被拆分开来,have_posts用以定义条件标签,while和the_post则各成一部分,但这仍然是the loop,在所有页面中基本都是这样。 多行loop时的一个用法是:用query_posts在“if have_posts”和代码的剩余部分之间放置一个参数,用来显示单篇文章、某一时段的文章、最近一篇文章或者某一类别中的文章,也可以改变the loop中迭代文章的顺序。

调用永久链接与(若干)meta

通过the loop的每次迭代,开放The loop的最后部分(the_post)能够激活元素数据。这里的个体数据通常是指“post meta”,尤其是永久链接(URL)、标题、时间这样的meta。大多数主题会在单篇文章内容前显示一些信息,然后在文章内容后也显示一些信息——比如文章类别和标签。

下面是一些你可以在post meta中调用的内容: the_permalink, the_ID, the_title, the_time, the_author, the_author_email, the_author_posts_link, the_category, single_cat_title, the_tags, single_tag_titls, edit_post_link, comments_popup_link, comments_rss_link

下面是Post meta的代码示例:

<div class=”post” id=”post-<?php the_ID(); ?>”>
<h2><a href=”<?php the_permalink() ?>” rel=”bookmark”><?php the_title(); ?></a></h2>
</div>

用以通知WordPress应获取的信息的调用

之后WordPress会决定所显示的单篇文章内容的详细程度。文章详细程度取决于你的主题使用的是“the_content”(显示全文)或“the_excerpt”(显示摘要)。

(可能有)更多的meta

上面提到过,文章下方都有指定的类别或标签,有时你还可能看到“edit”链接。 一些主题甚至在文章内容后添加了date published meta。

关闭the loop(主循环)

代码如下:

<?php else : ?>
<?php endif; ?>

这是一个多行代码,你可以在其中添加其它信息,例如“Sorry, we didn’t find anything”。你可以在侧边栏之后、调用侧边栏和页脚之前找到“next”“previous”导航链接。

Loops

大多数loops与我在上面所举的例子都差不多,但这并不表示你不能随意修改这些loops。 推荐大家阅读WP Codex上的文章The Loop in Action,文章中列举了存档、类别以及单篇文章以及静态首页中的the loop。

WP Codex上the loop中也有一些在同一页面上放置多个loop的示例。 Perishable Press上有一篇关于多loop,多栏内容的精彩教程。 Perishable Press上还有一些很好的loop模板,以及一篇关于两栏水平序列文章的教程。

(一)WordPress基本模板文件,一套完整的WordPress模板包括如下文件,但是只有index.php和style.css是不能缺少的:

style.css : CSS(样式表)文件,不可缺少版权部分,真正CSS样式表可以放在其他文件;
index.php : 主页模板,不可缺少;
archive.php : Archive/Category模板,如果缺少,默认为index.php的显示;
404.php : Not Found 错误页模板,如果缺少,默认为index.php的显示;
comments.php : 留言/回复模板,不可缺少;
footer.php : Footer模板,可合并到index.php;
header.php : Header模板,可合并到index.php;
sidebar.php : 侧栏模板,可合并到index.php;
page.php : 内容页(Page)模板,如果缺少,默认为index.php的显示;
single.php : 内容页(Post)模板,如果缺少,默认为index.php的显示;
searchform.php : 搜索表单模板,可合并到index.php;
search.php : 搜索结果模板,如果缺少,默认为index.php的显示;

(二)基本条件判断Tag

is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示

(三)Header部分常用到的PHP函数

<?php bloginfo(’name’); ?> : 博客名称(Title)
<?php bloginfo(’stylesheet_url’); ?> : CSS文件路径
<?php bloginfo(’pingback_url’); ?> : PingBack Url
<?php bloginfo(’template_url’); ?> : 模板文件路径
<?php bloginfo(’version’); ?> : WordPress版本
<?php bloginfo(’atom_url’); ?> : Atom Url
<?php bloginfo(’rss2_url’); ?> : RSS 2.o Url
<?php bloginfo(’url’); ?> : 博客 Url
<?php bloginfo(’html_type’); ?> : 博客网页Html类型
<?php bloginfo(’charset’); ?> : 博客网页编码
<?php bloginfo(’description’); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题

(四)模板常用的PHP函数及命令

<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(’,’) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(’%link’); ?> : 下一篇文章链接
<?php previous_post_link(’%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

(五)与模板相关的其他函数

<?php the_search_query(); ?> 搜索表单的值
<?php _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<?php wp_meta(); ?> 显示管理员的相关控制信息(为插件API HOOK用)
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量

小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。我们明码标价(wordpress做网站需要多少钱),从不忽悠任何客户,我们的报价宗旨:“拒绝暴利,只保留合理的利润”。如果您有网站建设、网站改版、网站维护等方面的需求,请立即咨询右侧在线客服或拨打咨询热线:18907337671,我们会详细为你一一解答你心中的疑难。

相关文章

WordPress主题模板

价格便宜(200-2500元不等),时间快, 图文内容后台自己控制。
一对一指导安装、终身免费升级。

全部模板

XSwm外贸营销型主题

XSwm主题助力外贸企业快速搭建全球销售的外贸独立网站

XSmic外贸引流模板

wordpress仿make in china(中国制造)的店铺引流模板

XS2021外贸模板

颜值与内涵并重的独立站、精准的广告投放、社交媒体推广和谷歌SEO

XS2020中文模板

帮助客户以最低的成本进去互联网,并且以最快的效率去做互联网营销。

XSnm中文营销型模板

网站布局规范清晰,内容完整,营销力十足

XSzq站群模板

做最踏实、最稳定、最长效的站群系统,让客户找到你,爱上你,成交你

XSzeng企业性价比主题

简约高端企业通用产品展示WordPress主题,功能上可满足任意企业官网的使用

XShuan企业主题

SEO排名最好的wordpress企业主题,百度最喜欢的wordpress主题

XSkobe营销型主题

XSkobe帮你拥有一个媲美中联重科官网的企业网站

XSpx教育培训主题

主题功能模块丰富,可以充分展示教育培训机构的特点和功能

XStie科技主题

精致简约风格的wordpress企业模板,为科技IT公司量身打造

XStop定制型主题

wordpress企业主题制作历史以来,水平最高的一款主题。

XShw公司展示主题

面向公司官网搭建需求的中小型企业公司的WordPress企业主题

XSgr集团官网主题

打造高品质官网,设计美观大方

XSdj品牌宣传主题

结构清晰,界面简洁,核心产品展示全面,中小企业建站首选

XSdd外贸主题

wordpress外贸主题适用于任何类型的站点,本主题远低于定制一个网站的价格

WordPress模板建站常见问题

建站技术服务费用是一次性的,次年无需在我方续费。
域名与服务器均需在对应的域名和服务商按照其次年费用续费,以免造成网站无法打开的情况。
超出合同和服务范围或服务到期后,双方按照一事一价,议价合作。
准备好域名,服务器,公司介绍,产品资料,包含文字,图片,视频等。
域名和服务器是公司知识产权,你最好用自己的信息去购买,免得日后有权限问题。
在代码质量,性能,安全性,SEO和可靠性方面,我们所有的主题模板都是一样的。
所有主题,后台功能都一样(文章发布,产品发布),只是前端界面显示模块多与少的区别。
售后服务包含WordPress主题模板的使用问题,我们可以协助你安装并调试购买的WordPress主题模板,一对一售后服务,支持远程协助。
文章、产品、分类等无限添加,后期可以进行增、删、改、查。
肯定是的!在开发过程中我们非常注重搜索引擎的优化,并借助WordPress平台的SEO优势,可以不需要任何插件即可自动获取也可自定义每个页面的SEO机制。
WordPress是世界上最安全的程序,注意密码复杂度和不随意安装免费插件就能让网站安全性大大提高。
可以的,我们可以在文章中添加视频和文档。
是的,WordPress 对初学者很友好,提供直观的界面。借助预先设计的主题和插件,即使没有技术知识的人也可以建立一个功能齐全的网站。
可以签合同,提供普通发票,如需其他发票,请提前告知。

WordPress定制案例

按照你的行业属性、特点,设计符合该行业风格和需求的网站。
利于百度推广、谷歌推广,提升网站获客能力。

全部案例

青岛歌尔微电子

歌尔微电子股份有限公司(Goermicro)成立于2017年10月,是歌尔股份有限公司的子公司

广州芯德科技

芯德研发设计并生产销售的产品主要包括光网络单元(ONU/ONT)、光线路终端(OLT)、语音网关(VoIP网关)等系列接入产品。

广州誉隆包装

致力于为餐饮连锁企业、超市和食品企业提供供应链管理和包装解决方案。

广州振华汽配

广州振华汽配公司多年来一直大在汽车电子零部件方面,拥有自己的研发团队跟成熟的生产技术

苏州智鑫航五金机电

专业从事线性运动工业品的集成商,主营滚轮导轨,V型导轨

苏州天瀚精密

领先的精密运动控制解决方案服务商

深圳华大基因NIFTY

华大基因作为中国基因行业的奠基者,秉承“基因科技造福人类”的愿景

醴陵陶瓷

醴陵陶瓷是生产世界级定制陶瓷餐具产品的领导者,为全球的品牌所有者、批发商和分销商提供服务

东莞绿能集团

东莞绿能集团专业从事太阳能连接器、太阳能电缆等光伏连接系统产品的研发和生产

苏州格美纳电器

苏州格美纳电器是一个提供生活创意小电器的品牌

深圳三南科技

致力于LED灯箱照明、LED室内外装饰照明、LED智能控制等产品的研发、生产、销售及服务、创新的高科技企业。

杭州通普机电

专业生产锂电自行车的企业,本公司致力于中国脚踏锂电助力自行车驱动系统、控制系统、助力系统的研发制造和销售。

醴陵市博物馆

为醴陵市文化旅游广电体育局管理的副科级公益一类事业单位

WordPress定制建站常见问题

可以签合同,提供普通发票,如需其他发票,请提前告知。
不包含域名和空间。如需代购,可以提前说明,我们提供一条龙服务。
备案制度仅仅限于服务器在大陆的主机;服务器在国外和香港等不需要备案;国内购买的com域名需要实名制才能解析。
建站技术服务费用是一次性的,次年无需在我方续费。
域名与服务器均需在对应的域名和服务商按照其次年费用续费,以免造成网站无法打开的情况。
超出合同和服务范围或服务到期后,双方按照一事一价,议价合作。
售后服务仅包含网站的使用问题,我们可以协助你安装并调试网站,一对一售后服务,支持远程协助。
肯定是的!在开发过程中我们非常注重搜索引擎的优化,并借助WordPress平台的SEO优势,可以不需要任何插件即可自动获取也可自定义每个页面的SEO机制。
WordPress是世界上最安全的程序,注意密码复杂度和不随意安装免费插件就能让网站安全性大大提高。
除开前期的沟通准备,网站定制开发上线一般要15个工作日。

制作专业WordPress网站的最快方法

使用入门模板在几分钟内创建专业设计的网站。响应式网站模板在任何设备上都具有最佳外观和性能。

  • 步骤1

    挑选wordpress主题,上传启动

    准备好服务器和域名,在服务器上安装好wordpress程序,在到纳姆网络外贸模板中心挑选适合自己的外贸模板并上传。

  • 步骤2

    无需编码,设置网站内容

    根据企业已有的文案素材,您可以使用我们易于使用的外贸模板轻松定制网站的各个方面,无需编码知识。

  • 步骤3

    阅读主题文档,设置更多功能

    更加深入的了解wordpress模板,您可以得到一对一的模板使用文档,以确保您可以逐步设置自己的WordPress网站。

  • 步骤4

    网站上线,开启外贸营销

    你的互联网资产已经建立完成,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部