# 主题学习 **Repository Path**: wordpress_2/theme ## Basic Information - **Project Name**: 主题学习 - **Description**: 主题学习 主题学习 主题学习 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bool 主题文档 一个简洁、轻量的 WordPress 入门主题,适合学习和定制开发。 ## 主题信息 | 项目 | 说明 | |------|------| | 主题名称 | bool的主题01 | | 描述 | 一个超级简单的入门主题 01 | | 作者 | chenbool | | 版本 | 1.0 | | WordPress 版本要求 | 5.0+ | ## 快速开始 ### 安装 1. **直接安装**:将主题文件夹上传到 `wp-content/themes/`,在后台「外观 → 主题」中激活。 2. **ZIP 安装**:将主题打包为 ZIP,在「外观 → 主题 → 安装主题」中上传。 ### 文件结构 ``` bool/ ├── style.css # 主题样式表(含主题元数据头) ├── functions.php # 功能:菜单、侧栏、SEO、资源入队等 ├── index.php # 博客首页 / 归档 ├── single.php # 单篇文章 ├── header.php # 头部(文档标题、wp_head、导航、搜索) ├── footer.php # 底部(wp_footer、闭合 body/html) ├── sidebar.php # 侧边栏模板 ├── search.php # 搜索结果页 ├── comments.php # 评论入口(加载 custom-comments.php) ├── custom-comments.php # 评论区 HTML 结构 ├── templates/ │ └── news_list.php # 列表页单条文章模板 ├── assets/ # (可选)静态资源目录 │ └── js/main.js └── readme.md # 本说明文档 ``` ## 主题功能概览 - **首页布局**:`index.php` 使用两栏——左侧 `sidebar.php`,右侧新闻列表(`#lists`)与分页。 - **列表项**:通过 `get_template_part( 'templates/news_list' )` 输出标题、元信息、摘要。 - **评论**:`comments_template( '/custom-comments.php' )`;主题根目录需存在 `comments.php`(内部 `load_template` 引入 `custom-comments.php`)。 - **头部**:`title-tag`、UTF-8、`viewport`、`wp_head()` / `wp_footer()`;可选 SEO meta(见 `functions.php`)。 - **资源**:样式与脚本通过 `wp_enqueue_style` / `wp_enqueue_script` 在 `functions.php` 中注册。 ## 核心模板说明 | 文件 | 作用 | |------|------| | `index.php` | 主循环、侧栏 + 列表布局、分页 | | `single.php` | 单篇正文、评论模板 | | `header.php` | `` / `` / `` 开始、站点名、菜单、搜索 | | `footer.php` | `wp_footer()`,闭合 `` | | `functions.php` | `register_nav_menus`、`register_sidebar`、主题支持、SEO、入队 | | `templates/news_list.php` | 列表中单篇文章卡片(`news-item`) | ## 模板标签参考 ### 基础引入 | 函数 | 说明 | |------|------| | `get_header()` | 加载 `header.php` | | `get_footer()` | 加载 `footer.php` | | `get_sidebar()` | 加载 `sidebar.php` | | `get_sidebar( 'test2' )` | 加载 `sidebar-test2.php` | | `get_template_part( 'templates/news_list' )` | 加载子目录模板片段 | ### 循环与文章 | 函数 | 说明 | |------|------| | `have_posts()` | 是否还有文章(用于 `while` 条件) | | `the_post()` | 进入当前文章数据 | | `the_title()` | 输出标题 | | `the_content()` | 输出正文 | | `the_excerpt()` | 输出摘要 | | `get_permalink()` | 获取文章链接(需 `echo` 或拼接) | | `get_the_author()` | 获取作者名 | | `get_the_date( 'Y-m-d' )` | 获取日期(可自定义格式) | | `the_post_thumbnail( 'medium' )` | 输出特色图 | | `wp_reset_postdata()` | 在自定义查询后重置主循环数据 | ### 导航、搜索与站点信息 | 函数 | 作用 | 注意 | |------|------|------| | `wp_nav_menu( array(...) )` | 输出菜单 | `theme_location` 需与 `register_nav_menus` 一致 | | `get_search_form( array(...) )` | 搜索表单 | 可传 `aria_label` 等 | | `bloginfo( 'name' )` 等 | 站点信息 | 常用:`name`、`description`、`charset`、`version` | | `home_url( '/' )` | 站点首页 URL | 可传路径,如 `home_url( '/test' )` | | `get_template_directory_uri()` | 主题目录 URL | 用于拼 CSS/JS/图片路径 | ### 头部与底部钩子(必须) | 函数 | 位置 | 说明 | |------|------|------| | `wp_head()` | `header.php` 中 `` 前 | 标题、样式、插件与 SEO 注入 | | `wp_footer()` | `footer.php` 中 `` 前 | 脚本与插件输出 | | `wp_body_open()` | `` 后 | WordPress 5.2+ 推荐 | 示例(头部片段): ```php > <?php echo esc_html( wp_get_document_title() ); ?> > ``` 示例(底部): ```php ``` ### 侧边栏小工具 在 `sidebar.php` 中输出已注册侧栏(ID 与 `register_sidebar` 中一致): ```php ``` 在 `index.php` 中调用: ```php ``` ### 搜索表单参数示例 ```php true, 'aria_label' => '全站搜索', ) ); ?> ``` ### 主题资源 URL 与入队(推荐在 `functions.php` 使用 `wp_enqueue_*`) ```php ``` ### 文章上下篇导航 ```php '上一篇: %title', 'next_text' => '下一篇: %title', ) ); ?> ``` ## 开发指南 ### 标准文章循环 ```php

``` ### 自定义页面模板 - 复制 `index.php` 为 `page.php` 作为通用页面模板;或新建 `page-{slug}.php` 绑定特定页面。 ### 自定义样式 在 `style.css` 或子主题中编写,例如: ```css :root { --primary-color: #0073aa; --secondary-color: #23282d; } @media (max-width: 768px) { .main-box { width: 100%; padding: 0 12px; box-sizing: border-box; } } ``` ### 安全输出 ```php ``` ## SEO 与过滤器(本主题) 在 `functions.php` 中可通过过滤器关闭主题自带的 meta(避免与 SEO 插件重复): ```php ``` 自定义首页 `meta keywords`(示例): ```php ``` ## 最佳实践 1. **循环**:列表页、归档页使用 `have_posts()` / `the_post()` 标准循环。 2. **命名约定**:`get_*` 多返回字符串需输出;`the_*` 多为直接 echo。 3. **钩子**:每个主题应在 `header.php` 调用 `wp_head()`,在 `footer.php` 调用 `wp_footer()`。 4. **脚本与样式**:优先 `wp_enqueue_scripts` 中注册,避免在模板中硬编码 `