WordPress 主题开发指南:模板文件、函数与页面选型规则

  • 主题介绍?
    WordPress 主题(Theme),是用来控制网站外观和展示方式的一套模板文件和样式文件。简单来说,主题决定了你的网站"长什么样",包括页面布局、字体样式、颜色风格、文章展示形式、导航结构等。
    简单点说就是一套包含样式、特效、展示功能的预定义模板文件的集合。
    二.wordpress主题文件有哪些?
    1.index.php是主题的主模板文件,甚至有人专门使用这一个文件就完成了主题的开发。(网站简单或者屎山代码写法无限if...else)。
    2.style.css主样式文件,至少wordpress设计者是这样想的。实际大部分主题目前都不再这里写样式了,这个文件更多的沦为了主题介绍文件。
    3.front-page.php定义wordpress网站首页,选择静态页面和主页的时候优先级大于home.php
  1. home.php定义文章类型的网站首页,优先级大于index.php
  2. header.php公共头部文件
  3. footer.php公共底部文件
  4. Sidebar.php侧边栏文件
  5. searchform.php搜索表单,通常是一个form表单
  6. Comment.php是评论模板
  7. 404.php是网站404页面的模板,一般需要服务器的配置支持,
  8. Search.php是搜索表单结果页模板,展示搜索的内容
  9. Date.php日期归档页,优先级:Date.php>archive.php>index.php
  10. 附件类型.php(例如图片的image.php,视频的video.php)附件模板,优先级image.php(等)>text_plain.php>plain.php>text.php>attachment.php>single-attachment.php>single.php>index.php
  11. Author.php作者页模板,优先级:author-作者昵称.php>author-作者ID.php>author.php>archive.php>index.php
  12. 文章归档页模板,优先级:archive-文章类型.php(例如:archive-post.php)>archive.php>index.php
    16. taxonomy.php自定义分类页,优先级:taxonomy-分类法-分类slug.php(例如:分类类型是:luntan_cate,分类slug是food代表食物分类,那么taxonomy-luntan_cate-goods.php)>taxonomy-分类法.php>taxonomy.php>archive.php
  13. tag.php标签分类页,优先级:tag-tag的slug.php>tag-tag的id.php>tag.php>archive.php>index.php
    18. category.php文章分类模板(特指post类型的文章),优先级:category-分类slug.php>category-分类ID.php>category.php>archive.php>index.php
    19. page.php页面模板(特指page类型的文章),优先级page-页面slug.php>page-页面ID.php>page.php>singular.php>index.php
    20. single.php文章模板,优先级:single-文章类型-文章slug.php>single-文章类型.php>single.php>singular.php>index.php
    三.模板文件的选择
    看了这么多模板文件那么怎么选择呢?
    1.看网站类型,例如博客站:index.php首页模板、archive.php分类、tag、搜索页模板,single.php文章落地页模板,企业站:index.php首页模板,其他页面是用page-slug.php或page-ID.php
    2.看功能:例如侧重搜索使用search.php,侧重用户发布可以使用author.php,侧重时光轴有历史沉淀感觉可以使用date.php
    3.看层级:例如:tag.php、category.php、date.php这种都是列表模板,single.php、page.php都是落地页的模板。如果首页是一级的,那么列表页是二级模板,落地页是三级模板
  • wordpress的文件是以php为后缀的文件,里面是PHP + HTML + CSS + JavaScript 的混合应用。所以就会有很多的预设函数,这里简单介绍一些常用的函数
    1.get_header函数是打印/加载header.php,例如在index.php的顶部加上这个函数就可以加载公共头部了
  1. 加载公共底部footer.php,用法与get_header类似
    3.bloginfo输出wordpress信息,例如:bloginfo( 'name' )加载博客标题(网站名)
    4.if ( have_posts() ) : while ( have_posts() ) : the_post(); 循环文章
    再循环里面可以使用:the_content获取文章内容、the_title获取文章标题、the_excerpt获取文章简介(会有wordpress预设样式,嫌丑可以用get_post函数实现)the_ID获取ID等
    5.is_home判断是否是主页、is_admin判断是否是管理员、is_single是否是单页或者文章等判断函数
    6.get_sidebar加载侧边栏sidebar.php
    7.get_template_part加载模板,例如:get_template_part( 'content', 'product' )加载content目录下的product.php
相关推荐
心平气和量大福大11 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai11 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
用户83562907805111 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
用户99314415798411 小时前
微服务框架中获取用户信息
后端
এ慕ོ冬℘゜11 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa11 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
一次旅行11 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
xuanWb11 小时前
手写一个 LLM API 网关:Anthropic 与 OpenAI 协议转换的完整实现
后端
苍何12 小时前
给 Codex 换皮肤这门生意,被我开源了
后端
用户83562907805112 小时前
Python 实现 Excel 命名范围(Named Range)的创建与管理
后端·python