Tilpasse din WordPress Admin

Backend av WordPress er en av de bedre som er der ute. Men, avhengig av dine behov, kan menyen være litt overfylt med fluff som du bare ikke vil ha eller trenger der.

I denne opplæringen skal jeg vise deg hvordan du tammer adminmenyen din. Jeg vil vise deg hvordan du endrer navn på menyer, omorganiserer menyene, eller bare fjern dem uten å berøre kjerne. Fordi berøre kjernen er dårlig.


Endre navn på menyer

Noen ganger kan det hende du vil gi nytt navn til en av administrasjonsmenyene. For eksempel kjører du et oppskriftssted, og du bruker "Innlegg" til å liste oppskrifter fremfor en blogg.

For å gjøre dette må du bruke admin_menu action hook. Den brukes til å legge til undermenyer til admin-menyen, eller andre forskjellige alternativer som må gjøres med menyen.

Endre navn på toppnivå menyer

Først må du opprette en funksjon og deretter legge den til handlingen kroken inne i functions.php av temaet ditt.

 funksjon edit_admin_menus () global $ menu;  add_action ('admin_menu', 'edit_admin_menus');

Administrasjonsmenyen for WordPress er faktisk lagret i en matrise ($ -meny). Så først som du ser, edit_admin_menus bruker $-menyen globalt for å få matrisen. Nå må du finne nøkkelen som er knyttet til menyen du vil endre navn på. En liste over alle menyer og undermenyer vil bli gitt på slutten av denne opplæringen.

Siden vi ønsket å endre Innlegg-menyen til "Oppskrifter", vet vi at vi må målrette "5":

 funksjon edit_admin_menus () global $ menu; $ meny [5] [0] = 'Oppskrifter'; // Endre innlegg til oppskrifter add_action ('admin_menu', 'edit_admin_menus');

Tro det eller ei, det er alt der er til det. Lagre functions.php, og oppdater administrasjonssiden. Men nå stemmer ikke undermenyene med det nye navnet.

Endre navn på undermenyer

Omdøping av undermenyer er nesten den samme prosessen, bortsett fra at du må legge til undermenyen $ globalt, og du vil også målrette linken URI også. Så for eksempel vil endring "Alle innlegg" til "Alle oppskrifter" se slik ut:

 $ undermeny ['edit.php'] [5] [0] = 'Alle oppskrifter';

Du kan gjøre dette for alle undermenyelementer. Alle sammen, edit_admin_menus ville se noe slikt ut

 funksjon edit_admin_menus () global $ menu; global $ undermeny; $ meny [5] [0] = 'Oppskrifter'; // Endre innlegg til oppskrifter $ undermeny ['edit.php'] [5] [0] = 'Alle oppskrifter'; $ undermeny ['edit.php'] [10] [0] = 'Legg til en oppskrift'; $ undermeny ['edit.php'] [15] [0] = 'Måltypene'; // Gi nytt navn til kategorier for måltider $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Gi nytt navn til ingredienser add_action ('admin_menu', 'edit_admin_menus');

Innleggsmenyen har nå blitt omformet til en oppskriftsmeny. Denne prosessen fungerer for alle menyene fra Dashboard til Innstillinger, samt deres undermenyer.


Endre menyordren

Nå skal jeg vise deg hvordan du endrer rekkefølgen på menyene, inkludert separatorene. Jeg foretrekker vanligvis Media og Links for å være mer mot bunnen, siden jeg ikke bruker dem nesten like mye som Sider og kommentarer.

Bestilling av administrasjonsmenyen krever bruk av menyordfilteret. Meny-filter-filteret krever imidlertid at du først aktiverer custom_menu_order. Så først vil du sette denne koden inn i din functions.php.

 funksjon custom_menu_order ($ menu_ord) hvis (! $ menu_ord) returnere true; returnere array ('index.php', // Dashboard 'separator1', // Første separator 'edit.php', // Innlegg 'upload.php', // Media 'link-manager.php', // Links ' edit.php? post_type = side ', // Pages' edit-comments.php ', // Kommentarer' separator2 ', // Second separator' themes.php ', // Utseende' plugins.php ', // Plugins' users.php ', // Brukers verktøy.php', // Verktøy 'options-general.php', // Innstillinger 'separator-last', // Siste separator);  add_filter ('custom_menu_order', 'custom_menu_order'); // Aktiver custom_menu_order add_filter ('menu_order', 'custom_menu_order');

Ordren på menyene er topp til bunn, slik at hvilken meny du setter øverst på matrisen, blir den første menyen. Hvis du ikke legger en av standardmenyelementene i matrisen, vil den bare falle til slutten av listen, den vil ikke fjerne den fra menyen.


Fjerne menyer

Du har omdøpt noen menyer, og du har bestilt dem slik du liker. Men hva om du ikke bruker sider eller koblingsadministratoren i det hele tatt? Du kan bare fjerne dem.

Fjerner toppnivå menyer

Fjerne admin menyer er veldig enkelt å gjøre. WordPress har en innebygd funksjon bare for å fjerne menyer:

 remove_menu_page ();

Alle remove_menu_page behov er slug av menyen du fjerner (også på slutten av denne opplæringen).

Så hvis du for eksempel vil fjerne Verktøy-menyen, vil du bruke:

 remove_menu_page ( 'tools.php');

Når du fjerner en meny, kan du bare gjenbruke den samme funksjonen du opprettet for å gi nytt navn til menyer. Her er et eksempel på funksjonen du brukte i begynnelsen av denne opplæringen hvor du omdøpte Innlegg-menyen, men nå fjerner også Verktøy-menyen også.

 funksjon edit_admin_menus () global $ menu; global $ undermeny; $ meny [5] [0] = 'Oppskrifter'; // Endre innlegg til oppskrifter $ undermeny ['edit.php'] [5] [0] = 'Alle oppskrifter'; $ undermeny ['edit.php'] [10] [0] = 'Legg til en oppskrift'; $ undermeny ['edit.php'] [15] [0] = 'Måltypene'; // Gi nytt navn til kategorier for måltider $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Gi nytt navn til tagger til ingrediensene remove_menu_page ('tools.php'); // Fjern verktøymenyen add_action ('admin_menu', 'edit_admin_menus');

Fjerne en undermeny

Hvis du fjerner en undermeny, er det like enkelt, det bruker en svært liknende funksjon som fjerner en toppnivåmeny. Her skjuler Theme Editor fra Utseende-menyen:

 remove_submenu_page ( 'themes.php', 'type-editor.php');

Den eneste forskjellen i argumentene er at du må gi sluggen i undermenyen forelder, og deretter sluggen for undermenyen selv. I et siste eksempel, her er koden gjemmer hele Verktøy-menyen og Theme Editor-undermenyen:

 funksjon edit_admin_menus () global $ menu; global $ undermeny; $ meny [5] [0] = 'Oppskrifter'; // Endre innlegg til oppskrifter $ undermeny ['edit.php'] [5] [0] = 'Alle oppskrifter'; $ undermeny ['edit.php'] [10] [0] = 'Legg til en oppskrift'; $ undermeny ['edit.php'] [15] [0] = 'Måltypene'; // Gi nytt navn til kategorier for måltider $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Gi nytt navn til tagger til ingrediensene remove_menu_page ('tools.php'); // Fjern Verktøy-menyen remove_submenu_page ('themes.php', 'theme-editor.php'); // Fjern Theme Editor-undermenyen add_action ('admin_menu', 'edit_admin_menus');

For å konkludere

Som du kan se, gjør det enkle og enkle å gjøre noen grunnleggende tilpasning til backend av WordPress, og selv om mange kanskje ikke ser hva du har gjort, til slutt kan det (og vil) hjelpe deg sterkt. Organisasjonen er aldri en dårlig ting. Du gjør det på forsiden av temaet ditt, hvorfor ikke gjøre det på baksiden også?

Dette er også flott hvis du kjører et nettsted for en klient. Skjule menyer som de kunne bruke til å forårsake potensiell utilsiktet skade på nettstedet deres, er alltid et stort pluss! I fremtidige opplæringsprogrammer vil jeg gå over flere av de tilpasningene som er mulige, fra å bruke CSS til å endre det generelle utseendet på baksiden, for å ha tilpassingene bare for enkelte brukere.

Som lovet, har jeg tatt med et diagram som vil gi deg alle menyene og undermenyene navn, nøkkel og slug.