Después de haber leído en otro lugar en la Pila de dos complementos WP forzando posiciones de menú idénticas (con la probabilidad de que uno no aparezca), me pregunto cómo puedo controlar la posición de los elementos de menú agregados por los complementos.
Ya uso una función que parece manejar tales elementos de submenú en 'configuración', y otra función para reordenar elementos predeterminados (publicaciones, páginas, temas, complementos, configuraciones, etc.) elementos de 'nivel superior', pero que no cambian el posicionamiento de dichos elementos agregados por complementos.
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 ejemplo, de los dos elementos de menú de nivel superior agregados por WooCommerce, uno aparece arriba del elemento agregado por ContactForm7 y el otro a continuación, y sería bueno reordenarlos en consecuencia, y también, para poder reordenar mejor los elementos que no fuerzan una posición del menú y en su lugar aparecen en la parte inferior.
Creo que generalmente funciona bien para reordenar elementos predeterminados y 'edit.php? Post_type = ...', pero aquellos con 'admin.php? Page = ...' no reordenan.
Cuando mi función de reordenamiento está deshabilitada, los dos elementos de WooCommerce ('edit.php? Post_type = product' y 'edit.php? Post_type = shop_order') se agrupan según lo previsto, pero cuando la función se reactiva se dividen por ContactForm7 ('admin.php? page = wpcf7').
Y, uno ('edit.php? Post_type = shop_order') de los CPT de WooCommerce no se reordenará, aunque el otro ('edit.php? Post_type = product') sí.
Las respuestas existentes están bien, pero si agrega un nuevo tipo de publicación personalizada, tendrá que volver a editar esas funciones una y otra vez.
Para solucionar esto, desarrollé esta pequeña función. Simplemente defina su
$new_positions
interior de lamy_new_menu_order
función:fuente
Cuando crea un tipo de publicación con register_post_type (), puede establecer la posición del menú:
Si los elementos tienen la misma posición de menú, se ordenan alfabéticamente.
en su propio complemento puede establecer el nivel. Si está intentando cambiar la posición del menú de un complemento que no ha creado, muchos de ellos pueden tenerlo conectable, o puede editar sus llamadas.
fuente