Personalizarea programului WordPress Admin Text de ajutor

În Partea 2 a acestui tutorial, v-am arătat cum să adăugați metaboxuri personalizate în tabloul de bord WordPress, pe care le puteți utiliza pentru a oferi text de ajutor pentru clienții sau utilizatorii dvs..

Dar dacă doriți să oferiți ajutor pe ecranele individuale de editare? În acest tutorial, vă voi arăta cum să faceți asta.

În acest tutorial veți afla cum să:

  1. Adăugați un metabox în ecranul de editare pentru textul de ajutor
  2. Adăugați metaboxi suplimentari în poziții diferite
  3. Creați un metabox inactiv pentru a afișa textul de ajutor în partea de sus a ecranului de editare

Voi crea un plugin pentru a face acest lucru - dacă ați creat deja un plugin după ce ați urmat părțile 1 până la 3 din această serie, vă recomandăm să adăugați codul din acest tutorial în pluginul respectiv, oferindu-vă un plugin cu toate personalizările dvs. de administrare.


Ce veți avea nevoie pentru a finaliza acest tutorial

Pentru a finaliza acest tutorial, veți avea nevoie de:

  • O instalare WordPress
  • Accesați dosarul pluginurilor site-ului dvs. pentru a adăuga pluginul
  • Un editor de text pentru a crea pluginul

Configurarea pluginului

La începutul pluginului, adaug următoarele rânduri:

 / * Nume Plugin: Wptuts + Particularizarea Admin Partea 4 - Ajutor Text URI Plugin: http://rachelmccollin.co.uk Descriere: Acest plugin acceptă tutorialul în Wptuts +. Se adaugă text de ajutor în ecranul de editare WordPress. Versiune: 1.0 Autor: Rachel McCollin Autor URI: http://rachelmccollin.com Licență: GPLv2 * /

1. Adăugarea unui Metabox de ajutor în ecranul Editare Post

Pentru a adăuga un metabox conținând text de ajutor, utilizați add_meta_box () funcția pe care o utilizați și dacă ați crea un metabox pentru metadatele postate sau într-un ecran de setări. Această funcție are câțiva parametri:

 

Parametrii sunt:

  • $ id - codul unic pentru metabox.
  • titlu $ - titlul care va fi afișat utilizatorilor.
  • $ apel invers - funcția de apel invers definește conținutul metaboxului.
  • $ post_type - tipul postului a cărui ecran de editare metabox va apărea inch Lăsați acest gol pentru a adăuga metaboxes la toate ecrane de editare post tip, sau specificați tipul de post care doriți să vizați.
  • $ context - unde în ecranul de editare doriți să apară metaboxul - "normal", "avansat" sau "lateral". Valoarea implicită este "avansată", care plasează metaboxul în zona principală a ecranului.
  • prioritate $ - în contextul pe care l-ați definit, prioritatea pentru acest metabox ('înalt''Core''Mod implicit' sau 'scăzut'). Acest lucru este util dacă adăugați metaboxuri multiple.
  • $ callback_args - argumente pentru a trece în funcția de apel invers (opțional)

Deci, pentru a adăuga un metabox în zona principală a ecranului de editare post pentru numai postări, adaug următoarele în pluginul meu:

 // adăugați metabox sub funcția panoului de editare wptutsplus_metabox_after_title () add_meta_box ('după-titlu-ajutor', 'Utilizarea acestui ecran', 'wptutsplus_after_title_help_metabox_content', 'post', 'avansat', 'mare');  add_action ('add_meta_boxes', 'wptutsplus_metabox_after_title');

Aceasta adaugă un metabox gol, care nu va funcționa încă pentru că nu am adăugat funcția de apel invers. Aceasta este următoarea:

 // funcția callback pentru a popula funcția metabox wptutsplus_after_title_help_metabox_content () ?> 

Utilizați acest ecran pentru a adăuga articole noi sau pentru a edita articole existente. Asigurați-vă că faceți clic pe "Publicați" pentru a publica un articol nou după ce l-ați adăugat sau "Actualizați" pentru a salva orice modificare.

Acum se adaugă un metabox în ecranul meu de editare post, după cum se arată în captura de ecran:

După cum puteți vedea, am eliminat câteva metaboxuri care se văd în mod normal în ecranul de editare post (cum ar fi fragmente și discuții), dar noul metabox este sub panoul de editare și, prin urmare, nu este foarte vizibil. Este imposibil să folosiți add_meta_box () pentru a adăuga un metabox deasupra panoului de editare principal, fără a recurge la o soluție jQuery care mișcă panoul principal de editare în jos și care cred că este prea mult pentru această problemă. Deci, ce alternative am eu??

  1. În primul rând, pot adăuga un metabox deasupra metaboxului "Publicați", care va fi mai evident pentru utilizatori.
  2. Alternativ, pot să trișez și să folosesc edit_form_after_title cârlig de acțiune pentru a adăuga un metabox fals deasupra panoului de editare.

Voi începe cu prima opțiune: adăugați un metabox în partea de deasupra metaboxului "Publicați".


2. Adăugarea unui metabox în dreapta ecranului de editare

Pentru a adăuga un metabox în partea din dreapta sus a ecranului, folosesc add_meta_box () funcția în același mod ca înainte, cu modificarea unora dintre parametri. De asemenea, folosesc o funcție de apel invers diferită pentru a popula metaboxul cu conținut diferit.

În plugin-ul dvs., adăugați următoarele:

 // Adăugați textul de ajutor în partea dreaptă a ecranului într-o funcție metabox () add_meta_box ('după titlu-ajutor', 'Publicarea și salvarea modificărilor', 'wptutsplus_top_right_help_metabox_content', 'post', 'lateral', 'mare') ;  // funcția callback pentru a popula funcția metabox wptutsplus_top_right_help_metabox_content () ?> 

Asigurați-vă că dați clic pe "Publicați" de mai jos pentru a publica un articol nou după ce l-ați adăugat sau "Actualizați" pentru a salva orice modificare.

Acest lucru adaugă un mic metabox cu instrucțiuni scurte - dacă aș adăuga mult mai mult text, ar muta metaboxele de sub el prea mult în jos pe ecran. Puteți vedea rezultatul în captura de ecran:

Notă: Am comentat funcția pentru metabox în zona principală a ecranului înainte de a adăuga acest nou metabox, motiv pentru care nu îl puteți vedea în captura de ecran.


3. Adăugarea unui metabox "Fake" deasupra panoului de editare

Așadar, adăugarea unui metabox mic în partea dreaptă sus a ecranului este destul de simplă - dar dacă aș vrea un metabox în partea stângă sus, deasupra panoului de editare?

Pentru a face acest lucru, nu utilizați add_meta_box () funcția, dar utilizați edit_form_after_title cârlig, care introduce conținut după titlul postului și înainte de panoul de editare. Voi atașa o funcție la acel cârlig pentru a defini marcajul care va fi adăugat pe ecran și voi folosi clase în marcajul meu pentru a replica aspectul unui metabox.

În plugin-ul dvs., adăugați următoarele:

 funcția wptutsplus_text_after_title ($ post_type) ?> 

Folosind acest ecran

Utilizați acest ecran pentru a adăuga articole noi sau pentru a edita articole existente. Asigurați-vă că faceți clic pe "Publicați" pentru a publica un articol nou după ce l-ați adăugat sau "Actualizați" pentru a salva orice modificare.

Acest lucru adaugă un marcaj la ecranul de editare, care arată mult ca un metabox, pentru că am inclus .cutie poștală și .interior clase:

Cu toate acestea, există o problemă cu acest marcaj - va apărea pe ecranul de editare pentru fiecare tip de postare. Deoarece nu folosesc add_meta_box () , nu am luxul $ post_type parametru. Deci, în loc să folosim acest lucru, voi efectua o verificare pentru pagina de editare pe care o folosim înainte de a scoate marcajul.

Pe măsură ce mă aflu în backend-ul WordPress, nu pot folosi etichetele condiționale standard pe care le-aș folosi într-un fișier șablon pentru a verifica locația mea, dar pot folosi get_current_screen () pentru a identifica ecranul de editare pe care mă aflu.

get_current_screen () funcția returnează o matrice, care va include, printre altele, tipul postului ecranului curent. Pot folosi acest lucru pentru a verifica dacă tipul de post este editat 'post'.

În interiorul funcției dvs., deasupra celorlalte conținuturi, adăugați următoarele:

 $ ecran = get_current_screen (); $ edit_post_type = $ ecran-> post_tip; dacă ($ edit_post_type! = 'post') returnează; ?>

Întreaga funcție va arăta astfel:

 // Adăugați metabox fals peste funcția panoului de editare wptutsplus_text_after_title ($ post_type) $ screen = get_current_screen (); $ edit_post_type = $ ecran-> post_tip; dacă ($ edit_post_type! = 'post') returnează; ?> 

Folosind acest ecran

Utilizați acest ecran pentru a adăuga articole noi sau pentru a edita articole existente. Asigurați-vă că faceți clic pe "Publicați" pentru a publica un articol nou după ce l-ați adăugat sau "Actualizați" pentru a salva orice modificare.

Acest lucru va asigura că metaboxul "fals" va fi afișat numai pe ecranul Post editare, și nu pe ecranul de editare pentru alte tipuri de posturi. Apoi, puteți repeta această funcție pentru diferite tipuri de posturi (cum ar fi 'pagină' și 'atașament', precum și propriile tipuri de posturi personalizate), pentru a afișa un text de ajutor diferit pentru aceștia.


rezumat

Adăugarea textului de ajutor în ecranele individuale de editare poate fi foarte utilă pentru utilizatorii care nu doresc să revină la tabloul de bord pentru a obține ajutor.

În acest tutorial, ați învățat cum să adăugați metaboxuri pentru textul de ajutor pe ecranele de editare, precum și cum să utilizați edit_form_after_title cârlig pentru a adăuga text de ajutor imediat deasupra panoului de editare.

Cod