Tendo lido em outro lugar na pilha de dois plugins WP forçando posições de menu idênticas (com a probabilidade de um não aparecer), estou pensando em como posso controlar a posição dos itens de menu adicionados pelos plugins.
Eu já uso uma função que parece lidar com esses itens de submenu em 'configurações' e outra função para reordenar os itens padrão (postagens, páginas, temas, plugins, configurações etc.) 'nível superior' - mas que não altera o posicionamento desses itens adicionados por plug-ins.
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' );
Como exemplo, dos dois itens de menu de nível superior adicionados pelo WooCommerce, um aparece acima do item adicionado pelo ContactForm7 e o outro abaixo, e seria bom reordená-los adequadamente - e também, para poder reorganizar melhor os itens que não força a posição do menu e aparece na parte inferior.
Acho que geralmente funciona bem para reordenar os itens padrão e 'edit.php? Post_type = ...', mas aqueles com 'admin.php? Page = ...' não são reordenados.
Quando minha função de reordenar é desativada, os dois itens do WooCommerce ('edit.php? Post_type = product' e 'edit.php? Post_type = shop_order') se agrupam conforme o esperado, mas quando a função é reativada, eles são divididos por ContactForm7 ('admin.php? page = wpcf7').
E um ('edit.php? Post_type = shop_order') dos CPTs do WooCommerce não será reordenado - embora o outro ('edit.php? Post_type = product') o faça.