3

現時点では、カスタム投稿タイプについて学習しているだけなので、ここから先に進む方法がわかりません。

イベント用のカスタム投稿を作成しました。文言が少し異なるだけで、通常の投稿とほぼ同じです。でも作った理由は、最初のタイトルの後に2番目のタイトルを追加したいからです。

ユーザーにとってこれをできるだけ簡単にするために、このテキスト フィールドをメイン エディターの上の最初のフィールドのすぐ下に配置するのが理想的です。ここにそれをどのように追加するのだろうか?

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


いいえ、タイトルは 1 つだけです。

Second Titleの値を記録するには、カスタム フィールドを作成する必要があります。

そして問題は、タイトルとコンテンツボックスの間に入れられないことです。

プラグインAdvanced Custom Fieldsをお勧めします。これは活発に開発されており、さまざまな CF を生成するのに非常に便利です。


これが私が行う方法です。画像をクリックして拡大します。

高度なカスタム フィールドを 1 つ設定する

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 インスペクターまたは 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 に答える