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

Adr*_*ian 3 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',
        ),
    ) 
);
Run Code Online (Sandbox Code Playgroud)

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

bra*_*ilo 9

更新:使用一些钩子和管理save_post就像常规元框一样,有一种简单的方法.


不,只能有一个标题.

您必须创建自定义字段以记录第二个标题的值.

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

我建议插件高级自定义字段.它已经积极开发,并且非常方便用于生成各种CF.


这是我怎么做的,点击图片放大:

配置一个高级自定义字段

acf配置


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

在此输入图像描述


使用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
}
Run Code Online (Sandbox Code Playgroud)

结果是

在此输入图像描述

jQuery Notes

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