在WordPress中为自定义帖子添加第二个标题?

时间:2012-12-05 15:12:10

标签: php wordpress

目前我正在学习自定义帖子类型,所以我不确定如何从这里开始。

我为事件创建了一个自定义帖子,它与普通帖子几乎完全相同,但措辞略有不同。但我之所以选择一个是因为我想在最初的冠军之后添加第二个冠军。

为了让用户尽可能轻松,我理想地喜欢这个文本字段位于主编辑器上方的第一个文本字段下面。只是想知道如何在这里添加它?

register_post_type('events',
    array(  
        'label' => 'Events',
        'description' => 'Events section',
        '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','thumbnail','author','page-attributes',),
        'taxonomies' => array('category',),
        'labels' => array (
            'name' => 'Events',
            'singular_name' => 'Event',
            'menu_name' => 'Events',
            'add_new' => 'Add Event',
            'add_new_item' => 'Add New Event',
            'edit' => 'Edit',
            'edit_item' => 'Edit Event',
            'new_item' => 'New Event',
            'view' => 'View Event',
            'view_item' => 'View Event',
            'search_items' => 'Search Events',
            'not_found' => 'No Events Found',
            'not_found_in_trash' => 'No Events Found in Trash',
            'parent' => 'Parent Event',
        ),
    ) 
);

'title' 似乎是标准的,所以我想知道我是否可以创建另一个实例?

2 个答案:

答案 0 :(得分:9)

更新:an easy way to do it using some hooks并管理save_post就像常规元框一样。


不,只能有一个标题。

您必须创建一个Custom Field来记录第二个标题的值。

而且,问题在于它不能放在标题和内容框之间。

我建议使用插件Advanced Custom Fields。它已经积极开发,并且非常方便用于生成各种CF。


我就是这样做的,点击图片放大:

配置一个高级自定义字段

  

acf configuration


自定义帖子类型屏幕中的结果

  

enter image description here


使用jQuery帮助移动字段

add_action( 'admin_head', 'so_13726274_move_field' );

function so_13726274_move_field()
{
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function($)
        {     
            $('#acf-text').prependTo('#postdivrich');
            $('#acf-field_50baa73272855').css('width','100%');
        });
    </script>
    <?php
}

结果

  

enter image description here

jQuery Notes

  • $('#acf-text')容器div ,对应于“#acf-FIELD_NAME”
  • $('#acf-field_50baa73272855')文本字段本身,我们需要此命令,因为当我们移动容器div
  • 时,宽度会变短
  • 文本字段#ID必须在您自己的安装中检测到,因为它不相同,请使用Chrome Inspector或FireBug

答案 1 :(得分:1)

您可以通过更改自定义帖子类型的编辑器布局来实现。该网站将向您展示如何做到这一点。您可以在编辑器中为Subhead行创建一个框。

http://wp.smashingmagazine.com/2011/10/14/advanced-layout-templates-in-wordpress-content-editor/