Wie ändere ich die Admin-Menüposition von “Media”?

Ich möchte die Priorität / Menü-Reihenfolge der “Media” Admin-Seite ändern. Gibt es eine Möglichkeit, das über apply_filter zu ändern?

Gibt es eine Möglichkeit, nur die Seitenpriorität “Medien” zu ändern, ohne alle Seiten in menu_order auflisten zu müssen?

Vielen Dank

Solutions Collecting From Web of "Wie ändere ich die Admin-Menüposition von “Media”?"

Es gibt eine Kombination aus zwei Filtern, menu_order erledigt den Job, aber Sie verwenden auch custom_menu_order , um menu_order zu aktivieren.

 function wpse_233129_custom_menu_order() { return array( 'index.php', 'upload.php' ); } add_filter( 'custom_menu_order', '__return_true' ); add_filter( 'menu_order', 'wpse_233129_custom_menu_order' ); 

Dadurch wird upload.php (der Medienbildschirm) direkt nach dem Dashboard und dann die anderen übergeordneten Menüelemente angezeigt.

Wenn Sie Media an einer anderen Stelle platzieren möchten, listen Sie einfach alle anderen Bildschirme auf, die im Array vorangestellt werden sollen.

Alternativ können Sie auch das globale $ -Menü-Feld von WP direkt ansprechen:

 function wpse_233129_admin_menu_items() { global $menu; foreach ( $menu as $key => $value ) { if ( 'upload.php' == $value[2] ) { $oldkey = $key; } } $newkey = 26; // use whatever index gets you the position you want // if this key is in use you will write over a menu item! $menu[$newkey]=$menu[$oldkey]; $menu[$oldkey]=array(); } add_action('admin_menu', 'wpse_233129_admin_menu_items'); 

Beachten Sie den Kommentar zur Möglichkeit, einen anderen Menüpunkt zu überschreiben. Die Codierung bei der Suche nach einem Array-Index, der nicht kollidiert, wird dem Leser als Übung überlassen. Dies ist natürlich kein Problem, wenn Sie die erste Methode verwenden.

Es liegt etwas daran, mit den Globals von WP so zu spielen, dass ich mich schmutzig fühle. Änderungen an WPs internen functionen können Dinge für Sie durcheinander bringen. Verwenden Sie die Abstraktionen, die von Hooks und APIs bereitgestellt werden, wenn Sie können.

Eine schnelle Google-Suche gab mir mehrere Ergebnisse und ich fand eine einfache Lösung.

Der folgende Code stammt von der Easy Web Design Tutorial- Website, aber ich werde ihn unten einfügen, falls der Link jemals unterbrochen wird.

 function reorder_admin_menu( $__return_true ) { return array( 'index.php', // Dashboard 'edit.php?post_type=page', // Pages 'edit.php', // Posts 'upload.php', // Media 'themes.php', // Appearance 'separator1', // --Space-- 'edit-comments.php', // Comments 'users.php', // Users 'separator2', // --Space-- 'plugins.php', // Plugins 'tools.php', // Tools 'options-general.php', // Settings ); } add_filter( 'custom_menu_order', 'reorder_admin_menu' ); add_filter( 'menu_order', 'reorder_admin_menu' ); 

Sie können das Menü neu media.php indem Sie die media.php einfach media.php wo sie angezeigt werden soll

Wie Sie sehen können, ist der obige Code gut kommentiert und zeigt Ihnen, welche .php Dateien welcher Link ist 🙂