サポート » 使い方全般 » 投稿画面の並び順でカスタムフィールドを上部に配置するには?

  • 解決済 zamo@ddm

    (@zamoddm)


    過去フォーラムを探してみたのですが、見つからなかったため投稿させていただきます。
    重複がありましたら誘導していただければ幸いです。

    現在私の設定で表示オプションより投稿画面の並び順を、

    ——————————
     タイトル
    ——————————
     パーマリンク(スラッグ)設定
    ——————————
     記事コンテンツ(エディター)
    ——————————
     カスタムフィールド
    ——————————
     リビジョン
    ——————————

    のように配置しております。

    タイトル・パーマリンク(スラッグ)設定・記事コンテンツ(エディター)は固定で、ドラッグ移動が不可ですが、これを以下のように配置する方法はないのでしょうか?

    ——————————
     タイトル
    ——————————
     パーマリンク(スラッグ)設定
    ——————————
     カスタムフィールド
    ——————————
     記事コンテンツ(エディター)
    ——————————
     リビジョン
    ——————————

    記事コンテンツよりも先に、カスタムフィールドを表示させたいのが今回の目的です。
    ただし、リビジョンはそのままです。

    レイアウト変更に関するトピックは幾つかありましたが、今回のようなケースはなかったように思いますので是非ご教授いただければと思います。

    尚、functions.phpには以下の内容を記述しております。

    ● レイアウトを1列表示するように記述
    ● 不要なメタボックスは非表示化

    以上、ご協力いただければ幸いです。
    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • kz

    (@kz)

    以下で OK◎

    1. admin-script.js を作成し、以下をコピペ

    jQuery(document).ready(function($){
      $( '#postcustom' ).insertBefore( '#postdivrich' );
    });

    2. テーマフォルダに admin-script.js をアップロード

    3. テーマの functions.php に以下をコピペ:

    <?php
    add_action( 'admin_enqueue_scripts', 'my_admin_enqueue_scripts' );
    function my_admin_enqueue_scripts(){
      wp_enqueue_script( 'my-admin-script', get_bloginfo( 'stylesheet_directory' ) . '/admin-script.js', array( 'jquery' ), false, true );
    }
    ?>

    トピック投稿者 zamo@ddm

    (@zamoddm)

    kz様、ご教授ありがとうございます。
    投稿直後に病気でしばらく休んでおり、ご返信遅れましたことお詫び申し上げます。

    jQueryで配置転換するのは盲点でした…(^^;)私もよく、h2の装飾などでwrapInnerを使ってspanタグを挿入させたりしますが、よくよく考えれば、insertBeforeを使うことで実現できましたね。

    今回の場合、カスタムフィールド部分は Custom Field Template のメタボックスでしたので、教えて頂いた admin-script.js の指定IDが異なります。
    今後の方の参考までに記載します。

    jQuery(document).ready(function($){
        $('#cftdiv').insertBefore('#postdivrich');
    });

    #postdivrich が記事コンテンツ(エディター)部分なので、その前(上)に出力したいメタボックスのIDを #cftdiv のように記述してください。

    上記のように作成したjsファイルは任意の場所に保存してください。
    例えば、テーマフォルダにjsフォルダを作成し、そこに admin-script.js (任意の名前)として保存した場合、 fanctions.php で以下のように記述します。

    function my_admin_enqueue_scripts() {
    	wp_enqueue_script('my-admin-script', get_bloginfo('template_directory').'/js/admin-script.js', array('jquery'), false, true);
    }
    add_action('admin_enqueue_scripts', 'my_admin_enqueue_scripts');

    以上で完成です。
    本件は解決しましたので、トピックを閉めさせていただきます。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿画面の並び順でカスタムフィールドを上部に配置するには?」には新たに返信することはできません。