热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wordpress模板入门

模板文件是WordPress网站的基础,它们就像拼图一样生成你的网页。有些模板(例如头部和底部模板文件)应用在所有的网页上,还有一些模板只会在特定条件下才会用到。传统的网页包含两个文件:XHTML页面 构建网页的框架和内容;CSS样式表 决定网页的风格表现。在Wo

模板文件是WordPress网站的基础,它们就像拼图一样生成你的网页。有些模板(例如头部和底部模板文件)应用在所有的网页上,还有一些模板只会在特定条件下才会用到。

传统的网页包含两个文件:

在WordPress中(X)HTML结构和CSS样式表是固定的,但是网页中的内容是由各个模板文件在后台生成的。主题文件和样式表存储在一起就成为了一个WordPress主题。要了解更多关于主题开发的内容,请参阅主题开发

WordPress的页面结构

一个简单的WordPress网页由三个部分组成:头部结构、内容结构、底部结构。这些结构都是由你当前使用的WordPress主题模板文件生成的。

  • 头部包含你的XHTML网页顶部的所有信息,即?标签,还有例如,?标签和指向样式表的链接。它还包含了标签和你博客头部中可见的部分。(通常包括您网站的名称,也可以包括导航菜单、logo 、网站介绍等等信息)。
  • 内容部分包含你的日志和页面, 即你网站的“肉”。
  • 底部一般是在你的页面最下方,包含了一些相关信息,像通往其它页面的链接或者你网站的分类导航菜单,版权和联系方式等其它信息。

基本模板文件

一个WordPress主题是从位于你的主题所在路径里的index.php模板文件开始的。这个文件有两个主要功能:

  • 包含或者调用其它模板文件;
  • 包含WordPress主循环以从数据库获取信息(日志、页面、分类等等信息)。

在我们这个简单的页面结构里,我们只需要包含两个额外的模板文件:头部底部,即header.phpfooter.php。调用它们的模板标签看上去像这样:



为了显示你博客的日志和页面(以及定义如何显示它们),你的index.php文件必须在头部与底部调用之间运行WordPress主循环

更加复杂的页面结构

许多WordPress主题包含一个或几个侧边栏以包含导航功能和关于你网站的更多信息。侧边栏是sidebar.php模板文件生成的。可以用这个模板标签将它包含进你的index.php模板文件:

肉在哪里?

这里请注意,我们没有使用模板标签来获取网页的内容,那是因为内容是在index.php模板文件中的WordPress主循环中生成的。

同时也请注意,主题的样式表决定了头部、底部、侧边栏和内容部分在用户浏览器上显示的样子和位置。更多的关于WordPress主题和网页设计的信息请参见博客设计与布局.

模板文件中的模板文件

你已经看到了WordPress是怎样在index.php模板文件中包含标准模板文件(头部、底部和侧边栏)的。你也可以在任何模板文件中包含其它的模板文件。

例如,sidebar.php中可以包含一个生成搜索栏的模板文件searchform.php。因为这不是一个WordPress的标准模板文件,所以代码有些不同:

为了包含文件,我们可以使用PHP 命令include这个命令需要知道目标文件的具体路径(TEMPLATEPATH?是一个WordPress中的可以指向主题模板文件路径的特殊变量)。

多数WordPress主题包括各种包含其他模板的模板文件,以生成网站上的网页。下面这些模板文件就是一个WordPress网站的主模板(index.php)可以包含的典型文件:

  • header.php
    • theloop.php?(内容)
    • wp-comments.php
  • sidebar.php
    • searchform.php
  • footer.php

但是,这个结构是可以被改变的。例如,你可以将搜索栏放置在你的头部文件里;也许你的设计中根本就不包含底部文件,那你就可以完全忽略它的存在。

特殊的模板文件

WordPress网站的网页有两种核心页面模式单独日志模式用来显示一个单独的日志。多日志模式用来显示多个日志或日志摘要,这种模式同样适用于分类存档、日期存档、作者存档和(通常情况下)你博客主页的正常模式。你可以使用index.php?模板文件来生成所有这些模式或是依靠WordPress的模板分级模式根据不同的情况来选择不同的模板文件。

WordPress模板分级模式解决了以下问题:

WordPress使用哪个模板文件显示特定类型的页面?

WordPress会根据标准名称自动识别某些特定模板文件,并使用它们显示特定的网页。例如,当用户点击日志标题的时候,WordPress会认为用户希望在单独日志页面上打开文档。于是WordPress的模板分级模式会优先使用single.php模板文件生成页面(如果你的主题里有single.php的话),而不是使用index.php模板文件生成。同样,如果用户点击了特别分类的链接,WordPress将使用category.php模板文件来显示,如果这个模板文件不存在,WordPress将寻找archive.php模板文件,如果这个模板文件也不存在,WordPress将使用主模板index.php来显示页面。你甚至可以使用特殊的模板文件来显示特殊的分类(更多信息请参见分类模板)。

模板文件技巧

这里有一些创建 WordPress 模板文件的技巧:

跟踪开始标签和结束标签
模板文件包含了XHTML标签和CSS引用。 HTML 元素和 CSS 引用贯穿于模板文件,从一个文件开始,在另一个文件结束。例如,htmlbodyHTML 元素通常开始于header.php文件,结束于footer.php文件。许多 WordPress 主题使用 HTML 的div元素,它可以跨越许多个文件。例如,内容页的主div可能开始于header.php文件,而结束于index.php文件或single.php文件。 如果你在开发、设计或修改主题,跟踪 HTML 元素从哪里开始到哪里结束,这会是很复杂的事情。使用评论在模板文件中对大量标签的开始和结束进行标注,于是你可以跟踪不同div的不同结束部分。
在不同的视图下测试模板文件
如果你对评论、侧边栏、搜索栏或是其它模板文件进行了改动,请确保使用不同的网页视图测试这些模板文件(单篇日志、不同类型的存档和页面)。
标注主题变动
如果你是为公开发行设计主题,要记住那些下载你的主题的人可能会想要为他们自己的应用而稍微修改一下主题。因此,在模板文件中修改了的地方留下笔记,将是非常有帮助的。在主题的主样式文件中加上评论也是一个好主意。(例如在你的header.php文件或 HTML 标签中)。
在你身后关闭标签之门
如果你在一个模板文件中开始了一个 HTML 标签或者div?,要确保你在另一个模板文件中关闭了这个标签。WordPress 论坛上有许多类似“我的主题发生了什么”这样的问题,这些问题基本上都产生于他们在头部模板文件中开始了一个标签,而在没有关闭标签的情况下删除了底部模板文件。检查你的标签,确保它们都是闭合的。(这里有一个好办法来确认这一切是否正确,那就是使用HTML 校验器来查看你的单独和存档页面。)
模板中的CSS样式
你可以在你的模板中的任何一个地方自由的使用你喜欢的 HTML 和 CSS 的标签和样式。然而,我们鼓励你使用标准的 WordPress 主题结构(参见网站结构 1.5)。这可以使你的用户更加容易理解你的主题。

推荐阅读
  • 基于函数实现的进制转换工具
    本文介绍了一种利用函数实现不同进制数(二进制、八进制、十进制)之间转换的方法。包括了程序的运行效果展示、所使用的主要函数解析、以及如何验证用户输入的合法性。整个项目仅使用了两个全局变量来存储用户的选项和输入的数值。 ... [详细]
  • CSGO
    CSGOTimeLimit:40002000MS(JavaOthers)MemoryLimit:524288524288K(JavaOthers)ProblemDescriptio ... [详细]
  • CGroups: 资源管理和控制
    CGroups(Control Groups)是Linux内核提供的一个功能,旨在限制、记录和隔离进程组使用的物理资源,如CPU、内存和I/O等。它通过精细的资源管理,支持现代容器技术如Docker的资源限制需求。 ... [详细]
  • ArcGIS技巧:为相邻地块创建指定宽度的隔离带
    在地理信息系统(GIS)的数据处理中,为了满足特定项目的质量检查标准,需要在相邻地块之间创建一定宽度的隔离带。本文将探讨如何使用ArcGIS工具解决这一问题,确保不同地块图斑间保持规定的最小距离。 ... [详细]
  • 深度兴趣网络在点击率预测中的应用研究
    本文探讨了一种名为深度兴趣网络(Deep Interest Network, DIN)的新方法,该方法通过捕捉用户的历史行为和当前上下文之间的交互来提高点击率预测的准确性。DIN模型不仅考虑了用户的静态偏好,还动态地调整了对不同商品的兴趣权重,从而实现了更加个性化的推荐。 ... [详细]
  • 本文探讨了一个项目中遇到的挑战,即如何通过技术手段解决不同菜单项触发时,跨域IFrame页面的高度自适应问题。通过创建中介页面和利用JavaScript与Cookie机制,实现无缝的用户体验。 ... [详细]
  • Java 动态代理详解与示例
    本文详细介绍了Java中的动态代理机制,包括如何定义接口、实现类和代理处理器,并通过具体示例演示了动态代理的创建和使用过程。 ... [详细]
  • 一、数据更新操作DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据、修改数据、删除数据。其中这些操作是离不开查询的。1、增加数据语法:INSERTINTO表名称[(字 ... [详细]
  • HTML中用于创建表单的标签是什么
    本文将详细介绍HTML中用于创建表单的标签及其基本用法,包括表单的主要特性和常用的属性设置。如果您正在学习HTML或需要了解如何在网页中添加表单,这将是一个很好的起点。 ... [详细]
  • SQL注入实验:SqliLabs第38至45关解析
    本文深入探讨了SqliLabs项目中的第38至45关,重点讲解了堆叠注入(Stacked Queries)的应用技巧及防御策略。通过实际案例分析,帮助读者理解如何利用和防范此类SQL注入攻击。 ... [详细]
  • 解决fetch上传图片至微信公众号H5页面的问题
    在近期的一个项目需求中,需要在微信公众号内嵌入H5页面,并实现用户通过该页面上传图片的功能,包括拍摄新照片或从已有相册中选择。前端开发中采用了fetch API进行接口调用,但遇到了上传图片时数据无法正确传递的问题。 ... [详细]
  • 如何将Redis配置为后台服务
    本文介绍了在安装Redis后,如何通过修改配置文件使其以守护进程模式在后台运行,避免因控制台被占用而无法进行其他操作的问题。 ... [详细]
  • Linux 文件系统结构详解
    本文详细介绍了Linux操作系统的文件系统结构,包括其独特的树状目录体系、根目录的作用、目录与磁盘分区的关系等,并对各主要目录的功能进行了深入解析。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
  • 本文探讨了使用Lighttpd与FastCGI实现分布式部署的方法。通过在中心服务器上配置Lighttpd负责请求转发,同时在多个远程服务器上运行FastCGI进程来处理实际业务逻辑,从而提高系统的负载能力和响应速度。 ... [详细]
author-avatar
曾巧红--------
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有