文章类型/分类法

快速添加文章(内容)类型

为什么要使用内容类型

每种类型的内容都会有不同的数据,比如“图书”有作者和出版社、“产品”有定价和产地等。

对于WordPress 的内容管理者来说,使用内容类型把这些不同的内容区分开,在WordPress后台管理的时候会比较容易。

对于开发者来说,内容类型存档模板和详情模板可以非常的使用 archive- 和 single- 自定义,代码上会更容易区分,更清晰。

添加文章类型的方法

添加之前,首先判断功能是否存在,以免禁用或未安装插件时出现错误。

其中 pro 是用来区分不同文章类型的唯一名称。‘产品’ 是显示在后台菜单中的名称。

if ( function_exists ("wizhi_create_types") and function_exists ("wizhi_create_taxs") ) {
  // 创建自定义文章类型      
  wizhi_create_types( "pro", "产品", array( 'title', 'editor', 'author', 'thumbnail', 'custom-fields', 'comments' ), true );
  wizhi_create_types( "slider", "幻灯", array( 'title', 'thumbnail' ), true );

  // 创建字段一分类方法
  wizhi_create_taxs( "procat", 'pro', "产品分类" );
}

把以上代码加入到主题的function.php即可。

添加文章类型支持

如果默认的文章类型不支持我们需要的功能,我们可以自己添加, 如下面的例子就是给页面添加摘要。

function wizhi_add_excerpt_support_for_pages() {
    add_post_type_support( 'page', 'excerpt' );
}
add_action( 'init', 'wizhi_add_excerpt_support_for_pages' );

可以添加就可以移除,相反的函数是 remove_post_type_support

文章类型设置

内置的文章类型均支持文章类型设置,目前支持的设置选项有:

  • 封面图像
  • 每页显示的文章数量
  • 文章类型自定义标题
  • 文章类型存档页模板
  • 文章类型描述

获取文章类型设置

文章类型设置是保存在 WordPress 选项数据表中的,可以用 WordPress 标准的 get_option 函数获取设置值,也可以用插件增加的快捷方式:

get_archive_option($type)
  • $type 字符串,文章类型别名

目前各选项的名称

设置选项完整的名称为:$type_archive_$name

  • 标题:title
  • 封面图像:banner
  • 模板:template
  • 每页文章数:per_page
  • 描述:description

为自定义文章类型添加设置选项支持

add_filter( 'wizhi_archive_setting_supports', 'enter_add_archive_settings', 10, 3 );
function enter_add_archive_settings( $types ) {
    $types[] = 'bulletin';
    $types[] = 'course';
    $types[] = 'show';

    return $types;
}

添加更多表单项目

可以添加更多的 Form Manager 表单项目到文章类型自定义设置中。

add_filter( 'wizhi_archive_setting_fields', 'enter_add_archive_setting_fields', 10, 3 );
function enter_add_archive_setting_fields( $fields ) {
    $fields[] = new Fieldmanager_Media( __( 'Cover image', 'wizhi' ) ),;

    return $fields;
}