3

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

我为事件创建了一个自定义帖子,它与普通帖子几乎相同,只是措辞略有不同。但我之所以制作一个,是因为我想在初始标题之后添加第二个标题。

为了让用户尽可能容易地做到这一点,我希望这个文本字段位于主编辑器上方的第一个下方。只是想知道如何在这里添加它?

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'似乎是标准的,所以我想知道是否可以创建另一个实例?

4

2 回答 2

9

更新:有一种简单的方法可以使用一些钩子save_post像常规元框一样管理它。


不,只能有一个标题。

您必须创建一个自定义字段来记录Second Title的值。

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

我建议插件Advanced Custom Fields。它已被积极开发,对于生成各种 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
}

结果是

在此处输入图像描述

jQuery 笔记

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

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

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

于 2012-12-05T15:39:30.307 回答