Nachdem ich an anderer Stelle im Stapel von zwei WP-Plugins gelesen habe, die identische Menüpositionen erzwingen (mit der Wahrscheinlichkeit, dass eines dann nicht angezeigt wird), frage ich mich, wie ich die Position von Menüelementen steuern kann, die von Plugins hinzugefügt werden.
Ich verwende bereits eine Funktion, die solche Untermenüelemente in 'Einstellungen' zu behandeln scheint, und eine andere Funktion, um Standardeinstellungen (Beiträge, Seiten, Themen, Plugins, Einstellungen usw.) 'Elemente der obersten Ebene' neu anzuordnen - die Positionierung ändert sich jedoch nicht von solchen Elementen durch Plugins hinzugefügt.
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' );
Als Beispiel für die beiden von WooCommerce hinzugefügten Menüelemente der obersten Ebene wird eines über dem von ContactForm7 hinzugefügten Element und das andere unten angezeigt, und es wäre schön, sie entsprechend neu anzuordnen - und auch Elemente besser neu anordnen zu können die keine Menüposition erzwingen und stattdessen unten erscheinen.
Ich finde, dass es normalerweise gut funktioniert, wenn Standard- und 'edit.php? Post_type = ...' Elemente neu bestellt werden, aber diejenigen mit 'admin.php? Page = ...' werden nicht neu bestellt.
Wenn meine Nachbestellungsfunktion deaktiviert ist, werden die beiden WooCommerce-Elemente ('edit.php? Post_type = product' und 'edit.php? Post_type = shop_order') wie beabsichtigt gruppiert, aber wenn die Funktion reaktiviert wird, werden sie aufgeteilt von ContactForm7 ('admin.php? page = wpcf7').
Und einer ('edit.php? Post_type = shop_order') der WooCommerce-CPTs wird nicht neu angeordnet - der andere ('edit.php? Post_type = product') jedoch.
Die vorhandenen Antworten sind in Ordnung, aber wenn Sie einen neuen benutzerdefinierten Beitragstyp hinzufügen würden, müssten Sie diese Funktionen immer wieder neu bearbeiten.
Um dies zu beheben, habe ich diese kleine Funktion entwickelt. Definieren Sie einfach Ihr
$new_positions
Inneres in dermy_new_menu_order
Funktion:quelle
Wenn Sie einen Beitragstyp mit register_post_type () erstellen, können Sie die Menüposition festlegen:
Wenn Elemente dieselbe Menüposition haben, werden sie alphabetisch sortiert.
In deinem eigenen Plugin kannst du den Level einstellen. Wenn Sie versuchen, die Menüposition eines Plugins zu ändern, das Sie nicht erstellt haben, ist es für viele Plugins möglicherweise steckbar, oder Sie können ihre Aufrufe bearbeiten.
quelle