在 WordPress 开发中,header.php 文件是主题的重要组成部分,用于定义网站的头部内容。以下是一些在 header.php 中常用的 WordPress 函数及其用途,如果嫌部分函数生成的默认模板不需要的元素过多,也可以考虑自行定义:
基本结构函数
<!DOCTYPE html>
定义文档类型,通常放在文件的最开头。
<html <?php language_attributes(); ?>>
输出 HTML 标签,并添加语言属性(如 lang="en-US")。
<head> 部分函数
wp_head():输出 WordPress 核心、插件和主题所需的头部脚本和样式。
bloginfo('charset'):输出站点的字符编码(如 UTF-8)。
wp_title():输出页面的标题(已逐渐被 add_theme_support('title-tag') 取代)。
bloginfo('name'):输出站点名称。
bloginfo('description'):输出站点描述(副标题)。
wp_enqueue_scripts():加载主题或插件注册的脚本和样式。
导航菜单函数
wp_nav_menu()
输出导航菜单。常用参数:
'theme_location':指定菜单位置(需在 functions.php 中注册)。
'menu_class':为菜单添加 CSS 类。
'container':是否包含容器标签(如 div)。
示例:
wp_nav_menu(array(
'theme_location' => 'primary',
'menu_class' => 'main-menu',
'container' => false,
));
搜索框函数
<?php get_search_form(); ?>
该命令默认生成的表单如下:
<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url('/')); ?>">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search …" value="<?php echo get_search_query(); ?>" name="s">
</label>
<input type="submit" class="search-submit" value="Search">
</form>
站点信息函数
get_bloginfo('url')
获取站点首页 URL。
home_url()
输出站点首页 URL。
site_url()
输出站点根目录 URL。
get_template_directory_uri()
获取当前主题目录的 URL,常用于加载主题资源(如 CSS、JS 文件)。
其他常用函数
body_class()
输出 <body> 标签的类名,根据页面类型动态生成(如首页、文章页等)。
the_custom_logo()
输出自定义 logo(需在主题中启用 add_theme_support('custom-logo'))。
get_header_image()
获取自定义头部图片的 URL。
dynamic_sidebar()
输出侧边栏内容(如果需要在头部显示小工具)。
is_front_page()
判断当前页面是否为首页。
is_single()
判断当前页面是否为单篇文章。
is_page()
判断当前页面是否为静态页面。
SEO 相关函数
wp_title()
输出页面标题(已逐渐被 add_theme_support('title-tag') 取代)。
meta description 和 meta keywords
可以通过自定义字段或插件(如 Yoast SEO)添加。
自定义头部内容
add_theme_support('title-tag')
在 functions.php 中启用,让 WordPress 自动管理页面标题。
add_theme_support('custom-header')
启用自定义头部功能,允许用户通过后台设置头部图片。