Après avoir lu ailleurs sur la pile de deux plugins WP forçant des positions de menu identiques (avec la probabilité qu'un n'apparaisse pas), je me demande comment je peux contrôler la position des éléments de menu ajoutés par les plugins.
J'utilise déjà une fonction qui semble gérer de tels éléments de sous-menu dans les `` paramètres '', et une autre fonction pour réorganiser les éléments de haut niveau par défaut (publications, pages, thèmes, plugins, paramètres, etc.), mais qui ne change pas le positionnement de ces éléments ajoutés par des plugins.
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' );
Par exemple, parmi les deux éléments de menu de niveau supérieur ajoutés par WooCommerce, l'un apparaît au-dessus de l'élément ajouté par ContactForm7 et l'autre ci-dessous, et ce serait bien de les réorganiser en conséquence - et aussi, pour pouvoir mieux réorganiser les éléments qui ne forcent pas une position de menu et apparaissent à la place en bas.
Je trouve que cela fonctionne généralement bien pour réorganiser les éléments par défaut et 'edit.php? Post_type = ...', mais ceux avec 'admin.php? Page = ...' ne réorganisent pas.
Lorsque ma fonction de réorganisation est désactivée, les deux éléments WooCommerce ('edit.php? Post_type = product' et 'edit.php? Post_type = shop_order') se regroupent comme prévu, mais lorsque la fonction est réactivée, ils sont divisés par ContactForm7 ('admin.php? page = wpcf7').
Et l'un ('edit.php? Post_type = shop_order') des CPT WooCommerce ne sera pas réorganisé - bien que l'autre ('edit.php? Post_type = product') le fasse.
Les réponses existantes sont correctes, mais si vous ajoutiez un nouveau type de publication personnalisé, vous devrez rééditer ces fonctions encore et encore.
Pour résoudre ce problème, j'ai développé cette petite fonction. Définissez simplement votre
$new_positions
intérieur de lamy_new_menu_order
fonction:la source
lorsque vous créez un type de publication avec register_post_type (), vous pouvez définir la position du menu:
Si les éléments ont la même position dans le menu, ils sont triés par ordre alphabétique.
dans votre propre plugin, vous pouvez définir le niveau. si vous essayez de changer la position de menu d'un plugin que vous n'avez pas créé, beaucoup d'entre eux peuvent l'avoir enfichable, ou vous pouvez modifier leurs appels.
la source