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
相关推荐
代码探秘者2 小时前
【大模型应用】6.RAG 场景下的向量+关键词混合检索
java·开发语言·人工智能·python·spring
三水不滴2 小时前
Elasticsearch 实战系列(二):SpringBoot 集成 Elasticsearch,从 0 到 1 实现商品搜索系统
经验分享·spring boot·笔记·后端·elasticsearch·搜索引擎
Amour恋空2 小时前
Nacos服务发现与配置
java·后端·服务发现
RFCEO2 小时前
JavaScript基础课程十四、原型与原型链(JS 核心底层)
开发语言·原型模式·prototype原型详解·javascript基础课·构造函数原型方法定义与使用·js原型链继承机制入门·t原型链顶层null原理
liuyao_xianhui2 小时前
优选算法_位运算_只出现一次的数字3_C++
开发语言·数据结构·c++·算法·leetcode·链表·动态规划
uzong2 小时前
为什么是你来做?面试中犀利问题的底层逻辑是什么和标准回答模版
后端·面试
Sailing2 小时前
🚀AI 写代码越来越快,但我开始不敢上线了
前端·后端·面试
Sylvia33.2 小时前
体育数据API实战:用火星数据实现NBA赛事实时比分与状态同步
java·linux·开发语言·前端·python