回答:
register_post_type関数を使用してカスタム投稿タイプを宣言するときは、次の例のように、サポートフィールドに「ページ属性」を追加する必要があります。
register_post_type('myposttype', array(
'supports' => array('title', 'editor', 'page-attributes'),
'hierarchical' => false
));
register_post_typeフィールドの詳細については、サポートされている他のメタボックスも「supports」フィールドに追加する必要があります。http://codex.wordpress.org/Function_Reference/register_post_typeを参照してください。
また、私が知っている限り、同じ順序の2つを防ぐ方法が組み込まれていないため、これは階層に基づいてサブ順序を作成できるためです(したがって、子ページの1つのグループは別のものと異なる順序を持つことができます)
page-attributes
すると、order
フィールドとフィールドの両方が表示されparent
ます。どうすればparent
フィールドを取り除くことができますか?
hierarchical
falseに設定すると削除されます。
@ Dave-Huntの応答に加えて、次のようなフィルターを追加して、カスタムオーダーを定義することもできます。この場合、タイトルのアルファベット順です。(コードはMark Leongのブログ投稿に感謝します。)is_admin()
フロントエンドでもカスタムorder_byを使用する場合は、チェックを削除します。
関数set_custom_post_types_admin_order($ wp_query){ if(is_admin()){ //クエリから投稿タイプを取得します $ post_type = $ wp_query-> query ['post_type']; if($ post_type == 'POST_TYPE'){ // 'orderby'値には任意の列名を指定できます $ wp_query-> set( 'orderby'、 'title'); // 'order'値はASCまたはDESCになります $ wp_query-> set( 'order'、 'ASC'); } } } add_action( 'pre_get_posts'、 'set_custom_post_types_admin_order');
更新
保存前の検証については、https://wordpress.stackexchange.com/a/40095/4645の回答を参照してください。 ここでオプションについて説明します。WordPressには事前保存フックがないため、基本的にはカスタムjQueryになります。
また、(今後の参考のために以前のコメントをここに複製します)、管理者の「メニュー順序」フィールドを公開する方法は次のとおりです。したがって、ページの場合と同様にユーザー編集可能です:カスタム投稿タイプ管理画面に「メニュー順序」列を追加する