回答:
remove_meta_boxを使用してデフォルトのメタボックスを削除し、add_meta_boxを使用して別の位置に再追加できます。
add_action('do_meta_boxes', 'wpse33063_move_meta_box');
function wpse33063_move_meta_box(){
remove_meta_box( 'postimagediv', 'post', 'side' );
add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}
これにより、サイドカラムから削除され、メインカラムに追加されます。post
この例では、カスタム投稿タイプの名前に変更します。
add_meta_box()
が必要な$callback
ように、WordPressで使用される関数の名前を知るにはどうすればよいですか?サイドバーのmeta_box 'Categories'(#categorydiv)に同じことをしたいとしますか?
/wp-admin/edit-form-advanced.php
を見ると、WordPressがすべてのコアメタボックスとそれが使用するコールバックと引数を追加する場所がわかります。カテゴリーの場合はpost_categories_meta_box
です。
私もこれに苦労しました。特に、レイアウト/順序を再定義するための明確な方法を見つけられませんでした-特に、ユーザーがボックスをドラッグしたとき/ドラッグしたときに変更できるためです。
私はワードプレスで「やりたい」ことをするのが好きで(通常は報われます)、それと衝突するよりも格好よく、ワードプレスのやり方は次のとおりです:
wordpressは、画面ごとにユーザーごとにドラッグされた位置を保存し、どのページ/画面が表示されているかに応じて使用されるユーザーメタキーがたくさんあります。
そのため、新しいユーザーごとにアクションまたはフィルターを追加して、ユーザー設定を既定の方法に設定できます。
1)影響を与えたいページをドラッグして配置し、2)phpmyadminでユーザーメタのIDを確認し、wpに保存されている内容を確認します。3)次に、ユーザーがその設定をまだ設定していない場合(個人的な選択を上書きしないように)、新しいユーザーアクションを次のようにコーディングします。
探しているユーザーメタメタキーのアイデアを得るには、次のスクリーンショットを参照してください:http ://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/
(私は一般的なプラグインを書いて、管理者としてすべての種類のページ/画面のすべてのユーザーの好みのレイアウトを定義できるようにしました。その後、彼らはそれを変更できます。私のプラグインはテンプレートのユーザー値を取得するだけで、値をハードコードされた値に設定しようとさえしません。)
メタボックスを正確に注文する場合は、次のプラグインを使用できます:https : //wordpress.org/plugins/post-meta-box-order/
ユーザーオプション(テーブルwp_usermeta)のmeta-box-order_postで再生されます。
注1:フラグの末尾を変更することで、この手法をカスタムCPTに適用できます:meta-box-order_ [YOUR_CPT]
注2:プラグインのコード内のハッシュを変更して、新しい注文をすべての既存ユーザーに適用することを忘れないでください。