同じメニュー位置を強制する2つのWPプラグインのStackの別の場所を読んだ場合(1つは表示されない可能性があります)、プラグインによって追加されたメニュー項目の位置をどのように制御できるのか疑問に思っています。
私はすでに「設定」でそのようなサブメニュー項目を処理しているように見える関数と、デフォルト(投稿、ページ、テーマ、プラグイン、設定など)の「トップレベル」項目を並べ替える別の関数を使用していますが、位置は変更しませんプラグインによって追加されたそのようなアイテムの。
function custom_menu_order() {
return array(
//Add items here in desired order.
);
}
add_filter( 'custom_menu_order', '__return_true' );
add_filter( 'menu_order', 'custom_menu_order' );
例として、WooCommerceによって追加された2つのトップレベルメニュー項目のうち、1つはContactForm7によって追加された項目の上に表示され、もう1つは下に表示されます。それに応じてそれらを並べ替えると便利です。また、項目をよりよく並べ替えることもできます。メニューの位置を強制せず、代わりに下部に表示されます。
通常、デフォルトのアイテムと「edit.php?post_type = ...」アイテムを並べ替える場合は問題なく機能しますが、「admin.php?page = ...」のアイテムは並べ替えられません。
並べ替え機能が無効になっている場合、2つのWooCommerceアイテム( 'edit.php?post_type = product'および 'edit.php?post_type = shop_order')は意図したとおりにグループ化されますが、機能が再アクティブ化されると、それらは分割されますContactForm7( 'admin.php?page = wpcf7')によって。
また、WooCommerce CPTの1つ( 'edit.php?post_type = shop_order')は並べ替えられません-もう1つ( 'edit.php?post_type = product')は並べ替えられます。