一个完整的WordPress主题需要包含一系列标准文件,这些文件共同构成了主题的结构和功能。以下是必需和推荐的文件列表,按功能分类说明:
核心必需文件(缺一不可)
style.css
index.php
- 作用:默认模板文件,当其他模板文件不存在时作为回退
- 要求:至少包含基础的WordPress主循环(The Loop)
functions.php
- 作用:主题的功能性文件,用于添加自定义功能、注册菜单等
- 示例代码:
<?php
// 注册菜单
register_nav_menus(array(
'primary' => __('主菜单', 'textdomain'),
'footer' => __('页脚菜单', 'textdomain')
));
?>
模板文件(按需创建)
| 文件名称 |
用途 |
header.php |
头部模板(需包含wp_head(),通常放<head>标签和导航栏) |
footer.php |
页脚模板(需包含wp_footer(),通常放版权信息和JS脚本) |
sidebar.php |
侧边栏模板 |
single.php |
单篇文章模板 |
page.php |
单页模板 |
archive.php |
分类/标签/作者等存档页模板 |
search.php |
搜索结果页模板 |
404.php |
404错误页模板 |
comments.php |
评论区域模板 |
front-page.php |
首页定制模板(优先级高于home.php) |
home.php |
博客文章列表页模板(当首页显示静态页面时使用) |
样式与脚本文件(推荐)
/assets/css/ 目录
main.css - 主样式文件(通过style.css引入)
responsive.css - 响应式样式文件
/assets/js/ 目录
main.js - 主JavaScript文件
- 其他模块化脚本
- 在
functions.php中注册资源:
function theme_scripts() {
wp_enqueue_style('main-style', get_stylesheet_uri());
wp_enqueue_style('custom-style', get_template_directory_uri() . '/assets/css/main.css');
wp_enqueue_script('main-js', get_template_directory_uri() . '/assets/js/main.js', array('jquery'), '1.0', true);
}
add_action('wp_enqueue_scripts', 'theme_scripts');
其他重要文件
screenshot.png
- 作用:主题截图(1200×900px),显示在后台主题列表中
template-parts/ 目录
- 存放可复用的模板片段,例如:
content-article.php - 文章内容模块
content-none.php - 无内容提示模块
- 语言文件
/languages/ 目录存放 .pot/.po/.mo 文件,用于国际化支持
inc/ 目录
- 存放自定义功能模块,例如:
customizer.php - 主题自定义器设置
widgets.php - 自定义小工具
可选增强文件
| 文件/目录 |
用途 |
theme.json |
控制区块编辑器(Gutenberg)的全局样式和设置 |
/patterns/ |
存放区块编辑器模式(Block Patterns)的PHP文件 |
/block-templates/ |
全站编辑(FSE)模板文件(如home.html, single.html) |
/woocommerce/ |
WooCommerce模板覆盖文件(如需支持电商功能) |
文件结构示例
/your-theme/
│── style.css 核心样式和元数据
│── functions.php 主题功能
│── index.php 主模板
│── header.php 头部模板
│── footer.php 页脚模板
│── screenshot.png 主题截图
│
├── /assets/ 静态资源
│ ├── /css/
│ │ ├── main.css
│ │ └── responsive.css
│ └── /js/
│ └── main.js
│
├── /template-parts/ 模块化模板
│ ├── content-article.php
│ └── content-none.php
│
├── /inc/ 功能扩展
│ ├── customizer.php
│ └── widgets.php
│
└── /languages/ 国际化文件
└── your-theme.pot
开发规范建议
- 遵循WordPress编码标准(PHP、CSS、JS)
- 添加文件头注释:
/**
* 文件功能描述
* @package 主题名称
*/
- 安全防护:所有PHP文件开头添加:
<?php if (!defined('ABSPATH')) exit; // 禁止直接访问 ?>
总结
- 最低要求:
style.css + index.php + functions.php 即可构成基础主题
- 完整主题:建议包含模板文件(如
header.php/footer.php)、资源目录和国际化支持
- 现代开发:若支持区块编辑器,需添加
theme.json和/patterns/目录
声明:本文由 时光 创作,如无特别说明,均为作者原创,版权归作者所有。任何企业和个人禁止未经授权使用,否则追究相关责任。