add_theme_support() 函数用于在我们的当前使用的主题添加一些特殊的功能,函数一般写在主题的functions.php文件中。

语法结构

<?php add_theme_support( $feature ); ?>

参数

$feature
(string) (必须) 需要添加特殊功能名称,可以是以下参数:
‘post-thumbnails’ —– 增加缩略图支持
‘automatic-feed-links’ 自动输出RSS
‘post-formats’—– 增加文章格式功能
‘custom-background’—– 增加自定义背景
‘custom-header’—– 增加自定义顶部图像
‘menus’——自定义导航菜单

post-thumbnails(启用文章缩略图功能)

从WordPress2.9版本开始,可以给模板添加文章缩略图功能,操作方法很简单,只需要把下面的代码添加到functions.php里面。也可以使用wp_get_attachment_image_src()函数来实现前端添加缩略图功能。

//后台增加特色图像功能
add_theme_support('post-thumbnails');

//然后在要显示缩略图的地方放置下面的代码即可。
if(has_post_thumbnail()){
    the_post_thumbnail();
}

//仅在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', 'movies' ) );

post-formats添加支持文章格式

add_theme_support( 'post-formats', array( 
    'aside',
    'chat',
    'gallery',
    'image',
    'link',
    'quote',
    'status',
    'video',
    'audio'
    )
);

WordPress支持以下十个文章格式

Standard:只是一个普通的文章没有什么特别的东西
Aside:类似于一个facebook的更新
Chat:全文聊天
Image:只是一个简单的图像,没有什么巨大的
Link:链接到外部网站
Quote:引用
Status:一个简短的状态更新,类似于微博
Video:一个视频
Audio:音频文件

使用文章模板的方法
如果你只是想改变文章循环的不同的展现方式,只需要添加下面的代码到你的single.php中:

<?php get_template_part( 'content', get_post_format() ); ?>

现在,创建并且上传你的自定义格式循环文件到你正在使用的主题下,文件的命名应该为content-{post-format}.php,例如:content-video.php 和 content-audio.php

最后不要忘记添加一个content.php文件,因为这将作为刚才的自定义格式循环文件的默认文件,如果自定义文件不存在,则使用自定义single.php文件。

如果你是一个新手,不想去折腾那些烦人的循环,那么只需要创建一个自定义音频文章格式,我们将给他命名为:single-video.php。接下来,上传single-video.php到你的主题的根目录下面,并且添加如下代码片段到functions.php中

add_action('template_include', 'load_single_template');
function load_single_template($template) {
    $new_template = '';
    // 文章模板
    if(is_single()){
        global $post;
        // 音频模板
        if (has_post_format('video')){
        // use template file single-video.php for video format
        $new_template = locate_template(array('single-video.php'));
        }
    }
    return ('' != $new_template) ? $new_template : $template;
}

现在,你就可以使用 single-video.php 这个文件作为你的文章形式了,在发布文章的时候选择它就OK了。总的来说,最后这方法比较简单,也比较容易懂。