wordpress添加自定义内容类型

发布时间:2012-12-11 17:52:10

在Wordpress站点的开发过程中,wordpress默认的两种内容类型:文章、页面,可能没办法满足我们的需求,这时候我们就需要使用到自定义的内容类型了,Wordpress自定义内容类型扩展了wordpress的内容形式,让wordpress的内容不再拘泥于文章和页面,让开发人员在进行开发时更加灵活。通过下面的代码您就可以创建一个自定义的内容类型了。

//添加案例自定义文章格式
function media_post_type_movie() {
  $labels = array(
    'name'               => '案例',
    'singular_name'      => '案例',
    'add_new'            => '添加案例',
    'add_new_item'       => '添加案例信息',
    'edit_item'          => '编辑案例信息',
    'new_item'           => '新案例',
    'all_items'          => '所有案例',
    'view_item'          => '查看案例',
    'search_items'       => '搜索案例',
    'not_found'          => '没找到案例资料',
    'not_found_in_trash' => '回收站里没找到案例信息', 
    'menu_name'          => '案例'
  );
  $args = array(
    'public'        => true,
    'labels'        => $labels,
    'menu_position' => 5,
//    'taxonomies'    => array('category','post_tag'),
    'taxonomies'    => array('post_tag'),
    'supports'      => array( 'title', 'editor', 'thumbnail',  'revisions' ),
    'menu_icon'     => 'dashicons-format-video',
    'has_archive'   => true,
    'rewrite'       => array( 'slug'  => 'media', 'with_front'  => false ),
   );
  register_post_type( 'media', $args );
}
add_action( 'init', 'media_post_type_movie' );
function media_updated_messages( $messages ) {
  global $post, $post_ID;
  $messages['media'] = array(
    0 => '', 
    1 => sprintf( __('案例已更新,<a href="%s">点击查看</a>'), esc_url( get_permalink($post_ID) ) ),
    2 => __('自定义字段已更新。', 'iwilling'),
    3 => __('自定义字段已删除。', 'iwilling'),
    4 => __('案例已更新。', 'iwilling'), 
    5 => isset($_GET['revision']) ? sprintf( __('案例恢复到了 %s 这个修订版本。'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
    6 => sprintf( __('案例已发布,<a href="%s">点击查看</a>'), esc_url( get_permalink($post_ID) ) ),
    7 => __('案例已保存', 'iwilling'),
    8 => sprintf( __('案例已提交, <a target="_blank" href="%s">点击预览</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
    9 => sprintf( __('案例发布于:<strong>%1$s</strong>, <a target="_blank" href="%2$s">点击预览</a>'),
      date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
    10 => sprintf( __('案例草稿已更新,<a target="_blank" href="%s">点击预览</a>', 'iwilling'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
  );
  return $messages;
}
add_filter( 'post_updated_messages', 'media_updated_messages' );

解说:

menu_position是指内容类型在wordpress所处的位置
taxonomies是指本内容类型是不是支持默认的分类、标签等
supports本内容类型支持的内容元素:标题、编辑器、缩略图、历史版本等
menu_icon是指在后台的图标样式
has_archive是指是否有存档

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”营销推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质 量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体营销推广吧,我们和你一起,开创互联网营销大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。