通过自定义模板,为你的WordPress主题添加文章格式

什么是WordPress文章格式?

在WordPress发布文章按钮侧栏发布文章的时候可以选择视频格式,图片格式,文字格式等等,当然,前提是要你的wordpress主题支持该功能,一般收费主题中,或者比较优秀的wordpress主题中就有此功能,多种文章格式供大家选择。之所以有这些文章格式,只是为了美观,或者使文章看起来更得体一点。本次的wordpress教程就是教大家如何使用自定义模板文件格式在你的wordpress主题中。我们将展示两种不同的方法,来使你的wordpress主题支持自定义文章格式。

为你的wordpress主题添加支持文章格式

如果你的主题不支持文章格式,首先你需要在functions.php中添加如下类似代码让你的主题支持该功能,WordPress支持以下十个文章格式:

Standard:只是一个普通的文章没有什么特别的东西。
Aside:类似于一个facebook的更新。
Link:链接到外部网站。
Image:只是一个简单的图像,没有什么巨大的。
Quote:引用。
Status:一个简短的状态更新,类似于微博。
Video:一个视频。
Audio:音频文件。
Chat:全文聊天或使用插件一个客舱。
add_theme_support( "post-formats", array( "aside", "chat","gallery","image","link", "quote", "status", "video", "audio" ) );  

您还可以添加文章格式支持页面和自定义文章类型:

// add post-formats to post_type "page"
add_post_type_support( "page", "post-formats" );
// add post-formats to post_type "my_custom_post_type"
add_post_type_support( "my_custom_post_type", "post-formats" );  

在文章主循环中使用(等级:经验丰富的)

如果你只是想改变文章格式中的循环,这一招将是你想要的,我们将使用single.php这个文件,多种循环的文章格式,添加下面的代码到你的single.php中:

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

现在,创建并且上传你的自定义格式循环文件到你正在使用的主题下,文件的命名应该为content-{post-format}.php,例如:content-video.php and content-audio.php
最后不要忘记添加一个content.php文件,因为这将作为刚才的自定义格式循环文件的默认文件,如果自定义文件不存在!

使用自定义single.php文件(等级:初级的,容易的)

如果你是一个新手,一个小白,并且不想去折腾那些烦人的循环,那么你就下面的这些吧,这些技巧将是对你有用的。我们将创建一个自定义音频文章格式,我们将给他命名为:single-video.php.
提示:你也可以直接复制你的single.php文件,并在上面做一些改变,然后作为你的自定义文章格式文件。
接下来,上传single-video.php到你的主题的根目录下面,并且添加如下代码片段到functions.php中:

add_action("template_include", "load_single_template");
function load_single_template($template) {
  $new_template = "";
  // single post template
  if( is_single() ) {
    global $post;
    // template for post with video format
    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;
}  

现在,你就可以使用se single-video.php 这个文件作为你的文章格式了,在发布文章的时候选择它就OK了。总的来说,最后这方法比较简单,也比较容易懂。
翻译的有点生硬,加上自己的理解,希望能对你有用。
参考资料:http://www.trickspanda.com/2014/03/use-custom-template-posts-formats-wordpress/