Cinci Acțiuni ale WordPress - 50 Exemple (21-30)

În această serie, analizăm acțiunile WordPress: un tip de cârlig pe care îl oferă aplicația care ne permite să customizăm execuția. În ultimul articol, am analizat cel de-al doilea set de 10 acțiuni care ne-au adus până la 20 pe care le-am acoperit până acum.

În conformitate cu spiritul articolelor anterioare, vom examina alte 10 acțiuni, împreună cu exemplele fiecăruia. 

Cu asta a spus, să reluăm.

manipulând get_posts () Înainte de procesare

pre_get_posts acționează una dintre cele mai importante funcții de interogare: get_posts ().

Includerea tipurilor de postări personalizate în rezultatele căutării

Să presupunem că rulați un blog de revizuire a filmului și că aveți nevoie de tipul de postare "Filme" pentru a fi afișat în rezultatele căutării. Puteți include orice tip de post doriți cu ajutorul următoarelor linii de cod:

is_main_query ()) if ($ query-> is_search) $ query-> set ('post_type', array ('post', 'film'));  // Exemplu Sursă: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts?>

Voilà! În prezent, rezultatele căutării site-ului dvs. vor include tipul de postare "Filme", ​​în plus față de postările obișnuite.

Lucrul cu modificările de stare postare

Există de fapt multe acțiuni pentru tranzițiile post-status - draft_to_publish, new_to_future, publish_to_private si asa mai departe. WordPress adună acest set de acțiuni și o numește $ OLD_STATUS _to _ $ NEW_STATUS în Codul.

Dar dacă aveți nevoie de o acțiune pentru a ține cont de toate modificările de stare, puteți utiliza funcția transition_post_status acțiune.

Trimiterea e-mail a administratorului de fiecare dată când a fost modificat un post

Imaginați-vă că rulați un blog cu mai mulți autori cu trei editori și aveți nevoie de informații despre fiecare modificare a statutului postului. În acest caz, puteți utiliza fragmentul de cod de mai jos:

post_type! == 'post') return;  $ title = $ post-> post_title; $ la = get_option ('admin_email'); $ subject = 'Starea mesajului a fost modificată'; $ body = "Hey, \ n \ nStatul postului" $ title "a fost schimbat de la" $ old_status "la" $ new_status \ ". \ n \ nCumpar!"; wp_mail ($ la, $ subiect, $ corp); ?>

Încurajarea scripturilor pentru paginile de administrator

Dacă vreodată trebuie să injectați un fișier JavaScript în panoul de administrare al site - ului dvs. Web admin_enqueue_scripts actiunea este pentru tine: aceasta actiune mica este responsabila pentru incarcarea scripturilor (si a stilurilor) din tabloul de bord WordPress.

Injectarea unui script pentru posturile de adăugare / editare postare

Să presupunem că ați creat o casetă specială de meta, dar aveți nevoie de un fișier JavaScript în dosarul plugin-ului pentru a face munca de meta box. Ce faci? Nu imprimați a

„; ?>

Modificați variabilele $ disqus_username $ NUMBER_OF_COMMENTS și ești bine să pleci!

Setarea utilizatorului curent

Oh, uite, o acțiune pentru o funcție pluggable! WordPress definește funcțiile "pluggable" cum ar fi:

Aceste funcții pot fi înlocuite prin pluginuri. Dacă pluginurile nu redefinesc aceste funcții, atunci acestea vor fi folosite în schimb.

Iar această acțiune mică este o parte din pluggable wp_set_current_user core, care modifică utilizatorul curent prin ID sau nume.

Eliminarea barei de instrumente pentru abonați

Nu vom schimba utilizatorul acum, dar în schimb vom profita de acțiune și vom verifica capabilitățile utilizatorului curent, apoi dezactivați bara de instrumente dacă utilizatorul este doar un abonat:

Încărcarea pluginurilor

Dacă aveți nevoie de lucruri după ce WordPress termină încărcarea pluginurilor activate, puteți conta pe plugins_loaded acțiune.

Porniți Pluginul

Modul corect de a inițializa plugin-ul și de a-l executa este prins funcția sa principală la plugins_loaded acțiune. Aici avem cel mai simplu exemplu din lume:

Acesta este un text fals!

„; // Exemplu Sursă: http://www.scratchinginfo.com/common-wordpress-action-hooks-for-plugin-development/?>

Dacă aveți nevoie de un exemplu mai bun și sunt sigur că faceți acest lucru, ar trebui să verificați cu atenție "WordPress Plugin Boilerplate" al lui Tom McFarlin, care are tot ce aveți nevoie pentru a construi un plugin WordPress cu conceptul de programare orientată pe obiecte.

Sfârșitul părții a treia

Am trecut prin cel de-al treilea lot de 50 de acțiuni din acest articol. Sper că ți-a plăcut și ai învățat lucruri noi. Ne vedem în următoarea!

Vreau să vă aud și gândurile. Ce credeți despre aceste acțiuni? Postați comentariile dvs. de mai jos; și dacă ți-a plăcut articolul, nu uita să o împărtășești!

Cod