wordpress添加自定义内容类型

WordPress默认的文章和页面类型可能无法满足开发需求,此时可通过自定义内容类型扩展内容形式,提升开发灵活性。示例代码展示了如何创建名为“案例”的自定义内容类型,包括设置标签、菜单位置、支持的元素(如标题、编辑器、缩略图)以及存档功能,从而丰富网站内容管理。

WordPress基础教程
阅读时间: 33 分钟
最后更新时间:2025年11月13日

在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是指是否有存档

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

在AI里面继续讨论:

曾凤祥

曾凤祥

WordPress技术负责人
小兽WordPress凭借15年的WordPress企业网站开发经验,坚持以“为企业而生的WordPress服务”为宗旨,累计为10万多家客户提供高品质WordPress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽WordPress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部