add_theme_support() 用于在我们的当前使用的主题添加一些特殊的功能,函数一般写在主题的functions.php文件中,当然也可以再插件中使用钩子来调用该函数,如果是挂在钩子上,那他必须挂在after_setup_theme
钩子上,因为 init hook
对于一些功能来说,已经太迟了.
用法
<?php add_theme_support( $feature ); ?>
参数
$feature
(string)
(必须) 需要添加特殊功能名称,可以是以下参数:
‘post-thumbnails’
- —– 增加缩略图支持
‘automatic-feed-links’
- 自动输出RSS
‘post-formats’
- —– 增加文章格式功能
‘custom-background’
- —– 增加自定义背景
‘custom-header’
- —– 增加自定义顶部图像
‘menus’
- ——自定义导航菜单
默认: None
也就是说你可以如下使用:
add_theme_support( 'post-thumbnails' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
add_theme_support(
'custom-background',
array(
'default-color' => '0B3B41',
'default-image' => get_template_directory_uri().'/images/bg.jpg',
)
);
add_theme_support( 'custom-header' );
Post Thumbnails(启用文章缩略图功能)
从WordPress2.9版本开始,可以给模板添加文章缩略图功能。操作方法很简单,只需要把下面的代码添加到functions.php里面。
add_theme_support( 'post-thumbnails' );
然后在要显示缩略图的地方放置下面的代码即可。
<?php the_post_thumbnail(); ?>
在 Wp 2.9 版本后,我们可以给 ‘post-thumbnails’
即缩略图功能增加一个限定的参数,举例如下:
//常规用法,在所有样式的文章、页面日志中使用缩略图功能
add_theme_support( 'post-thumbnails' );
//仅在post中使用缩略图功能
add_theme_support( 'post-thumbnails', array( 'post' ) );
//仅在page中使用缩略图功能
add_theme_support( 'post-thumbnails', array( 'page' ) );
//仅在 post 和 movies 中使用
add_theme_support( 'post-thumbnails', array( 'post', 'movie' ) );
在需要显示缩略图的文章页面中我们要检查是否已经设置日志缩略图:
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
设置缩略图大小
set_post_thumbnail_size( 120, 120, true );
//前面两个参数分别为-宽、高
//后面参数为是否裁剪图片到这么大 true为裁剪
注意,设置了缩略图大小之后,并不是说你输出特色图像的时候就直接输出这个大小,这个代码的功能只是在你设置缩略图的时候将那个图片生成了一个你设定大小的图片。输出特色图像的时候还是要加上大小,不然就会输出原图。
Custom Background(持定义背景)
3.4 版本引进让主题支持定义背景。
add_theme_support( 'custom-background' );
设置默认背景的参数:
$defaults = array(
'default-color' => '',
'default-image' => '',
'wp-head-callback' => '_custom_background_cb',
'admin-head-callback' => '',
'admin-preview-callback' => ''
);
add_theme_support( 'custom-background', $defaults );
Custom Header(支持自定义头部图像)
3.4 版本引进的让主图支持自定义头图。
add_theme_support( 'custom-header' );
请注意您可以添加的默认参数列表:
$defaults = array(
'default-image' => '', //默认图像
'random-default' => false, //是否默认随机
'width' => 0, //宽度
'height' => 0, //高度
'flex-height' => false,
'flex-width' => false,
'default-text-color' => '', //默认文本颜色
'header-text' => true, //顶部文本开关
'uploads' => true, //是否允许上传
'wp-head-callback' => '',
'admin-head-callback' => '',
'admin-preview-callback' => '',
);
add_theme_support( 'custom-header', $defaults );
Feed Links(头部自动生成 RSS 地址)
这个功能让 WordPress 自动在主题 head 添加 日志和留言的 RSS feed links。这个功能是在 3.0 版本引进的。
add_theme_support( 'automatic-feed-links' );
需要在你的主题头部位置放置头部钩子,这样才会自动生成rss地址。
<head >
wp_head();
</head >
源文件
wp-includes/theme.php
官方文档:http://codex.wordpress.org/zh-cn:函数参考/add_theme_support