wordpress主题开发中常用的12个模板文件

news2025/5/25 7:16:28

在WordPress主题开发中,有多种常用的模板文件,它们负责控制网站不同部分的显示内容和布局,以下是一些常见的模板文件:

1.index.php

这是WordPress主题的核心模板文件。当没有其他更具体的模板文件匹配当前页面时,WordPress就会使用index.php来显示内容。它通常用于显示博客的主页,展示文章列表等。例如,一个简单的index.php文件可能包含以下代码:

<?php get_header(); ?>
<div id="content">
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="post">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_excerpt(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

2.header.php

用于定义网站的头部区域,通常包含网站的标题、导航菜单、logo等内容。例如:

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo('charset'); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title><?php wp_title('|', true, 'right'); ?></title>
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="header">
    <h1><?php bloginfo('name'); ?></h1>
    <div id="nav">
        <?php wp_nav_menu(array('theme_location' => 'primary')); ?>
    </div>
</div>

3.footer.php

定义网站的底部区域,通常包含版权信息、底部菜单等内容。例如:

<div id="footer">
    <p>&copy; <?php echo date('Y'); ?> <?php bloginfo('name'); ?>. All rights reserved.</p>
    <div id="footer-nav">
        <?php wp_nav_menu(array('theme_location' => 'footer')); ?>
    </div>
</div>
<?php wp_footer(); ?>
</body>
</html>

4.sidebar.php

用于定义侧边栏的内容,通常包含小工具(widgets)等。例如:

<div id="sidebar">
    <?php if (is_active_sidebar('sidebar-1')) : ?>
        <?php dynamic_sidebar('sidebar-1'); ?>
    <?php endif; ?>
</div>

5.single.php

用于显示单篇文章的完整内容。例如:

<?php get_header(); ?>
<div id="content">
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="post">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_content(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

6.page.php

用于显示单个页面的内容,比如“关于我们”“联系我们”等页面。例如:

<?php get_header(); ?>
<div id="content">
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="page">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_content(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

7.archive.php

用于显示文章归档页面,比如分类归档、标签归档、日期归档等。例如:

<?php get_header(); ?>
<div id="content">
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="page">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_content(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

8.category.php

用于显示特定分类的归档页面。如果存在category.php文件,WordPress会优先使用它来显示分类归档页面,而不是使用archive.php。例如:

<?php get_header(); ?>
<div id="content">
    <h1><?php single_cat_title(); ?></h1>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="post">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_excerpt(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

9.tag.php

用于显示特定标签的归档页面。如果存在tag.php文件,WordPress会优先使用它来显示标签归档页面,而不是使用archive.php。例如:

<?php get_header(); ?>
<div id="content">
    <h1><?php single_tag_title(); ?></h1>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="post">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_excerpt(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

10.search.php

用于显示搜索结果页面。例如:

<?php get_header(); ?>
<div id="content">
    <h1>Search Results</h1>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
            <div class="post">
                <h2><?php the_title(); ?></h2>
                <div class="entry">
                    <?php the_excerpt(); ?>
                </div>
            </div>
        <?php endwhile; ?>
    <?php else : ?>
        <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

11.404.php

用于显示404错误页面,当用户访问不存在的页面时会显示该页面。例如:

<?php get_header(); ?>
<div id="content">
    <h1>404 Not Found</h1>
    <p>Sorry, the page you are looking for does not exist.</p>
</div>
<?php get_footer(); ?>

12.comments.php

用于显示文章或页面的评论区域。例如:

<?php if (post_password_required()) {
    return;
} ?>
<div id="comments" class="comments-area">
    <?php if (have_comments()) : ?>
        <h2 class="comments-title">
            <?php
            printf(_n('One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'textdomain'), number_format_i18n(get_comments_number()), '<span>' . get_the_title() . '</span>');
            ?>
        </h2>
        <ol class="comment-list">
            <?php
            wp_list_comments(array(
                'callback' => 'custom_comment_callback',
                'style' => 'ol',
                'short_ping' => true,
            ));
            ?>
        </ol>
        <?php
        the_comments_pagination(array(
            'prev_text' => '<span class="screen-reader-text">' . __('Previous', 'textdomain') . '</span>',
            'next_text' => '<span class="screen-reader-text">' . __('Next', 'textdomain') . '</span>',
        ));
        ?>
    <?php endif; ?>
    <?php
    if (!comments_open() && get_comments_number() && post_type_supports(get_post_type(), 'comments')) :
        ?>
        <p class="no-comments"><?php _e('Comments are closed.', 'textdomain'); ?></p>
    <?php
    endif;
    comment_form();
    ?>
</div>

这些模板文件相互配合,共同构成了WordPress主题的完整结构。通过合理地编写和使用这些模板文件,可以实现丰富多样的网站布局和功能。

原文

https://www.jianzhanpress.com/?p=8574

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2385174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聚铭安全管家平台2.0重磅发布——大模型智驱高效降本新方向

【聚铭安全管家平台2.0正式发布】在数字化安全威胁日益严峻的背景下&#xff0c;聚铭网络创新推出安全管家平台2.0&#xff0c;首创"云端智能区域中台本地终端"三级协同架构&#xff0c;深度融合AI安全大模型技术&#xff0c;实现威胁智能研判与自动化响应。该平台通…

使用注解动态映射:根据实体List列表动态生成Excel文件

我们一般通过POI来生成对应的Excel文件&#xff0c;绝大多数情况是需要手动编写单元格内容&#xff0c;然后顺序填充值&#xff0c;今天我们将动态根据实体来生成Excel表头&#xff0c;同时自动填充内容。 文章目录 1. 定义注解2. 实体类应用注解3. 动态导出工具类 1. 定义注解…

基于cornerstone3D的dicom影像浏览器 第二十一章 显示DICOM TAGS

系列文章目录 第一章 下载源码 运行cornerstone3D example 第二章 修改示例crosshairs的图像源 第三章 vitevue3cornerstonejs项目创建 第四章 加载本地文件夹中的dicom文件并归档 第五章 dicom文件生成png&#xff0c;显示检查栏&#xff0c;序列栏 第六章 stack viewport 显…

【循环位运算——uint32,DP】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; using uint unsigned;const int N 1010;ll f[N][N]; uint a[N]; int n, m;int main() {ios::sync_with_stdio(0);cin.tie(0);cin >> n >> m;for(int i 1; i < n; i)cin …

贪心介绍 LeetCode 455.分发饼干 LeetCode 376. 摆动序列 LeetCode 53. 最大子序和

贪心介绍 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 eg: 有一堆钞票&#xff0c;你可以拿走十张&#xff0c;如果想达到最大的金额&#xff0c;你要怎么拿&#xff1f; 指定每次拿最大的&#xff0c;最终结果就是拿走最大数额的钱。每次拿最大的就…

Postgresql 数据库体系架构

1 postgresql 软件目录 rootu24-pg-110:~# tree -L 1 /usr/local/postgresql-17/ /usr/local/postgresql-17/ ├── bin #可执行二进制文件 ├── include ├── lib └── share 2 数据库目录及文件 #目录结构 base --每个数据库的子目录 global --数据库集簇范…

Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)

一.VUE vue概述(vue.js) vue是前端JavaScript框架,对JavaScript进行封装,是一套用于构建用户界面的渐进式框架.vue的核心只关注图示层,不仅易上手,还便于与第三方库或既有的项目整合. vue.js和Angular.js,React.js一起,并称为前端三大主流框架 注意: 在此初步学习的是vue…

skywalking 10.2 源码编译

1.源码下载 Downloads | Apache SkyWalking 选择 SkyWalking APM 最新版下载&#xff0c; 下载后&#xff0c;在本地解压。 2.Idea加载工程 2.1 根目录pom文件删除checkstyle 插件 后续做二开时避免代码风格校验报错 2.2 删除apm-webapp 工程中 frontend-maven-plugin插件…

C++ --- string

C --- string 简介1、构造函数2、迭代器&#xff08;主流的遍历方式&#xff09;2.1字符串经典遍历和修改的方式2.2使用迭代器遍历和修改字符串2.3使用范围for遍历对象&#xff08;C11支持的新特性&#xff09; 3、常见&#xff0c;常用方法或重载3.1查询大小和容量管理3.2增3.…

Android Studio 连接夜神模拟器 自动断开的问题

版本情况&#xff1a; Android Studio Meerkat Feature Drop | 2024.3.2 Build #AI-243.25659.59.2432.13423653, built on April 30, 2025 Runtime version: 21.0.6-13368085-b895.109 amd64夜神模拟器 V7.0.5.9046 问题描述&#xff1a; cmd命令行使用adb连接夜神模拟器成…

Python入门手册:Python中的数据结构类型

在Python中&#xff0c;数据结构是组织和存储数据的方式&#xff0c;它们允许你以高效的方式操作和处理数据。Python提供了几种内置的数据结构&#xff0c;包括列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#xff08;Set&#xff09;和字典&a…

巡礼中国西极·跨越昆仑天山 | 北斗卫星徽章护航昆仑科考

神秘深邃&#xff0c;遗世独立。帕米尔高原&#xff0c;横亘于中亚东南部&#xff0c;我国的最西端&#xff0c;面积约10万平方千米&#xff0c;平均海拔4500米以上&#xff0c;古代丝绸之路在此经过。昆盖山&#xff0c;一座掩藏在帕米尔高原褶皱深处、鲜为人知的山脉&#xf…

Vue常用自定义指令-积累的魅力【VUE】

前言 在【自定义指令—v2与v3之间的区别【VUE基础】一文中&#xff0c;整理了自定义指令部分vue2和vue3 两个版本的区别&#xff0c;有兴趣的伙伴或者针对自定义部分比较迷茫的伙伴可以跳转看一下。此次主要介绍一些自己积累的一些自定义指令的代码&#xff0c;与大家一起分享。…

LangChain4j第三篇: RAG的简单应用与实践

引言:RAG 构建属于你的大模型 大语言模型(LLM)的知识体系本质上仅限于它所接受的训练数据。 其一在知识时效性方面,模型参数固化于训练完成的时点,而现实世界中的知识和信息持续动态更新。 其二在非公开数据层面,企业内部的机密文档(如产品设计图、商业策略等)及个人隐…

功能强大且易于使用的 JavaScript 音频库howler.js 和AI里如何同时文字跟音频构思想法

howler.js 是一个功能强大且易于使用的 JavaScript 音频库&#xff0c;它提供了跨浏览器的音频播放功能&#xff0c;支持多种音频格式&#xff0c;并且具有丰富的 API&#xff0c;可以方便地控制音频的播放、暂停、循环、音量等。下面是如何在 Vue 项目中使用 howler.js 实现音…

如何使用patch-package给npm包打补丁

一、背景 在移动应用开发中,轮播是一种很常见的效果,我们项目采用的是RN跨平台技术,RN的轮播我们直接使用的是第三方插件:react-native-snap-carousel。不过,当我们在项目中使用的时候却发现Android和iOS的表现不一致:https://stackoverflow.com/questions/60711611/rea…

maxkey单点登录系统

github地址 https://github.com/MaxKeyTop/MaxKey/blob/master/README_zh.md 1、官方镜像 https://hub.docker.com/u/maxkeytop 2、MaxKey:Docker快速部署 参考地址&#xff1a; Docker部署 | MaxKey单点登录认证系统 拉取docker脚本MaxKey: Dromara &#x1f5dd;️MaxK…

windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内

windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内 前言&#xff1a;最近遇到一个需求&#xff0c;我有15个文件夹(可能包含子文件夹) &#xff0c;目前我有一批文件名称&#xff0c;需要在这15个文件夹中查找出来&#xff0c;并拷贝到一个新的文件夹…

Notepad++ 下载与安装教程(小白专属)

文章目录 Notepad下载渠道的专业选择1. 官方网站下载&#xff08;海外用户或网络条件优越者首选&#xff09;2. 国内优化下载地址&#xff08;国内用户高效选择&#xff09; Notepad精细化安装流程解析总结与后续建议 在当前的开发与文本处理工作中&#xff0c;Notepad无疑是一…

Spring Cloud Gateway 微服务网关实战指南

上篇文章简单介绍了SpringCloud系列OpenFeign的基本用法以及Demo搭建&#xff08;Spring Cloud实战&#xff1a;OpenFeign远程调用与服务治理-CSDN博客&#xff09;&#xff0c;今天继续讲解下SpringCloud Gateway实战指南&#xff01;在分享之前继续回顾下本次SpringCloud的专…