在WordPress中,add_theme_support()
函数是用来启用或注册主题对特定WordPress功能的支持。以下是一些常见功能以及如何使用add_theme_support()
来启用它们:
-
标题标签(Title Tag)
WordPress 4.1引入了对标题标签的支持,这样你就不需要在主题的header.php
文件中手动输出<title>
标签了。add_theme_support( 'title-tag' );
-
自定义背景
启用自定义背景功能,允许用户通过WordPress的内置功能来设置背景。add_theme_support( 'custom-background', $args );
$args
是一个关联数组,可以包含以下参数:default-color
: 默认背景颜色。default-image
: 默认背景图像的URL。wp-head-callback
: 用于输出CSS的回调函数。admin-head-callback
: 用于输出CSS的回调函数(在管理界面)。
-
自定义头部(Logo)
启用自定义头部功能,允许用户上传自己的Logo。add_theme_support( 'custom-header', $args );
同样,
$args
是一个关联数组,可以包含自定义头部的各种参数。 -
自定义Logo
自定义Logo是自定义头部的一个更简单的版本,仅允许用户上传Logo。add_theme_support( 'custom-logo' );
-
文章格式
启用文章格式支持,例如标准、图像、视频等。add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat' ) );
-
HTML5
启用HTML5标记支持。add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) );
-
自动Feed链接
启用自动Feed链接,这将在页面的<head>
部分添加RSS feed链接。add_theme_support( 'automatic-feed-links' );
-
特色图片(Featured Images)
启用特色图片支持,允许用户为文章和页面设置特色图片。add_theme_support( 'post-thumbnails' );
-
菜单
启用菜单支持,允许用户通过WordPress菜单管理器创建和管理菜单。register_nav_menus( array( 'primary' => __( 'Primary Menu', 'textdomain' ), 'footer' => __( 'Footer Menu', 'textdomain' ), ) );
要使用add_theme_support()
,通常你会在主题的functions.php
文件中添加这些函数调用。以下是一个示例,展示如何在functions.php
中启用多个主题支持功能:
if ( ! function_exists( 'theme_setup' ) ) :
function theme_setup() {
// 启用标题标签支持
add_theme_support( 'title-tag' );
// 启用自定义背景支持
add_theme_support( 'custom-background', array(
'default-color' => 'ffffff',
) );
// 启用自定义Logo支持
add_theme_support( 'custom-logo' );
// 启用文章格式支持
add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat' ) );
// 启用HTML5支持
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
// 启用自动Feed链接
add_theme_support( 'automatic-feed-links' );
// 启用特色图片支持
add_theme_support( 'post-thumbnails' );
// 注册菜单
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'textdomain' ),
'footer' => __( 'Footer Menu', 'textdomain' ),
) );
}
endif;
// 在WordPress初始化时调用主题设置
add_action( 'after_setup_theme', 'theme_setup' );
请确保将'textdomain'
替换为你的主题文本域。这个文本域通常与主题的名称相匹配,并且用于国际化。