add_theme_support:主题的能力声明

作者: admin 分类: wordpress主题制作教程 发布时间: 2026-11-06 18:36

主题的“能力声明”

add_theme_support() 是主题告诉 WordPress:“我支持这个功能,你放心给我开放。”

比如你想用特色图(缩略图),必须声明支持 post-thumbnails,否则后台的“特色图”面板根本不会出现。

常用的几项

add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'menus' );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'gallery' ) );
add_theme_support( 'automatic-feed-links' );
声明 作用
title-tag 让 WordPress 自动输出 <title>(主题里就不用自己写 wp_title 了)
post-thumbnails 开启特色图
menus 开启菜单支持
html5 让搜索表单、评论表单等输出 HTML5 结构(更干净)
automatic-feed-links 在 head 里输出 RSS 链接

title-tag 是个好东西

老主题喜欢自己写 <title><?php wp_title(); ?></title>,还要自己写过滤器处理“首页显示什么、分页怎么显示”。

声明了 title-tag 之后,WordPress 会自动输出一个完整的 title,主题里不用再写。

但注意:如果你同时自己写了 <title>,就会出现两个 title。所以二选一。

caogenbj 缺了什么

翻它的 functions.php,一个 add_theme_support 都没有。这意味着:

  • 没有特色图:后台文章编辑页没有“特色图”面板,文章配图只能插在正文里;
  • 没有 title-tag:标题只能自己写(它确实自己写了 wp_title);
  • 没有 html5:搜索框、评论表单输出的是老式 HTML。

这些不是“错误”,但限制了主题的能力。加上几行声明,后台就多出一些功能。

加在哪

一般放在 functions.php 里,用一个 after_setup_theme 钩子包起来:

add_action( 'after_setup_theme', function () {
    add_theme_support( 'title-tag' );
    add_theme_support( 'post-thumbnails' );
    add_theme_support( 'html5', array( 'search-form', 'comment-form' ) );
} );

为什么包起来?因为 add_theme_support 必须在主题加载完成后调用,直接写在文件顶层有时机问题。

一个容易冲突的点

如果主题声明了 title-tag,又自己写了 <title>,会输出两个标题。这在 SEO 上是硬伤(搜索引擎不知道用哪个)。

检查方法:打开页面源码,搜 <title,看出现几次。超过一次就是重复。

小结

一句话记住:add_theme_support 是主题的能力声明——开特色图、开 title-tag、开 html5;开了就别自己再写一遍。

下一篇讲图片尺寸。

本系列导航

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Powered by 草根站长笔记 © 2015-2026 草根站长笔记 Inc.版权所有,禁止转载