如何在wp-admin中将元信息添加到自定义帖子类型?

时间:2012-08-28 14:22:15

标签: php wordpress custom-post-type

我为wordpress网站设置了3个自定义帖子类型我正在使用functions.php中的以下代码:

if ( function_exists('add_action') )
{
    add_action( 'init', 'create_post_types' );
    function create_post_types()
    {
        register_post_type('dj',Array('labels' => Array('name' => "DJ’s",'singular_name' => "DJ"),'public' => true,'has_archive' => true));
        register_post_type('gerecht',Array('labels' => Array('name' => "Gerechten",'singular_name' => "Gerecht"),'public' => true,'has_archive' => true));
        register_post_type('agenda',Array('labels' => Array('name' => "Agenda",'singular_name' => "Evenement"),'public' => true,'has_archive' => true));
    }
}

但是在wp-admin屏幕中我无法向帖子添加任何元信息。我该如何解决这个问题,还是不可能?

编辑:我不想为此使用任何插件,而是自己编写代码。

2 个答案:

答案 0 :(得分:1)

就个人而言,我会使用名为Advanced Custom Fields的插件,它提供了相当不错的界面,因为它提供了广泛的选项。

您可以将上述内容与Custom Post Type UI结合使用,它允许您使用UI创建自定义帖子类型和分类。仅供参考,您可以“获取代码”并将其放入您的functions.php中。

这方面的一个例子:

register_post_type('custom-post-name', array(  'label' => 'Custom Post Label','description' => '','public' => true,'show_ui' => true,'show_in_menu' => true,'capability_type' => 'post','hierarchical' => false,'rewrite' => array('slug' => ''),'query_var' => true,'exclude_from_search' => false,'supports' => array('title','editor','custom-fields',),'labels' => array (
  'name' => 'Custom Post Name',
  'singular_name' => 'Value',
  'menu_name' => 'Custom Post Menu Name',
  'add_new' => 'Add Item',
  'add_new_item' => 'Add New Item',
  'edit' => 'Edit',
  'edit_item' => 'Edit Item',
  'new_item' => 'New Item',
  'view' => 'View Item',
  'view_item' => 'View Item',
  'search_items' => 'Search Custom Post',
  'not_found' => 'No Item(s) Found',
  'not_found_in_trash' => 'No Item(s) Found in Trash',
  'parent' => 'Parent Value',
),) );

您可能需要查看数组并添加自己的描述性数据,即Itemsingular_name的{​​{1}}位置。

答案 1 :(得分:1)

您需要将 supports 字段添加到初始化数组中,如下所示:

register_post_type('dj', Array(
    'labels' => Array(
         'name' => "DJ’s",
         'singular_name' => "DJ"
     ),
    'public' => true,
    'has_archive' => true,
    'supports' => array('title', 'editor', 'custom-fields') // notice 'custom-fields'
));

默认情况下,它只是 title 编辑器,这就是为什么你可能不会在后端获取它们。

支持的功能的完整列表如下所示:

  • title :用于创建帖子标题的文本输入字段。
  • 编辑:用于撰写的内容输入框。
  • 评论:能够开启/关闭评论。
  • trackbacks :能够开启/关闭引用和pingback。
  • 修订:允许对您的帖子进行修改。
  • author :显示用于更改帖子作者的选择框。
  • 摘录:用于撰写自定义摘录的文本区域。
  • 缩略图:缩略图(3.0中的精选图片)上传框。
  • 自定义字段:自定义字段输入区域。
  • page-attributes :显示页面的属性框。这是 对于分层帖子类型很重要,因此您可以选择父级 交。

以下是关于该主题的精彩文章:Custom post types in WordPress

此处有更好的地方询问WordPress相关问题:WordPress Answers