Î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 ()
.
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.
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.
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); ?>
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.
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 tag in your code - you use the code below!
As its name suggests, this useful action is called when a post is saved to the database.
Sometimes, I forget to set a featured image for my posts, although all my posts should have one. While searching for an answer for my problem, I stumbled accross this elegant solution:
$post_id, 'post_status' => 'draft' ) ); add_action( 'save_post', 'wpds_check_thumbnail' ); else delete_transient( 'has_post_thumbnail' ); function admin_notices_example() // check if the transient is set, and display the error message if ( get_transient( 'has_post_thumbnail' ) == 'no' ) echo ''; delete_transient( 'has_post_thumbnail' ); // Example Source: http://wpdevsnippets.com/require-post-thumbnail-uploaded-before-publishing/ ?>You must select a featured image for your post.
A long but awesome example, am I right?
Meta boxes are arguably one of the fundamental reasons WordPress is the most flexible content management system in the world. It's true: You can crate almost anything as a meta box and let your users create post data with them. And the add_meta_boxes
action is the main hook we use to create meta boxes.
We're going through actions and I don't want to digress from the topic, so I'm just going to show you how the action is used: By filling a function with the add_meta_box()
function(s) and hooking it to the add_meta_boxes
action:
[tip]If you want to learn more about creating custom meta boxes, check out this amazing tutorial on this topic written by Christopher Davis.[/tip]
The "At a Glance" section, formerly named "Right Now", is the primary widget of the dashboard of every WordPress installation. With the activity_box_end
action, you can safely play with that area.
Let's say you're a freelance WordPress developer and you want your clients to remember your phone number. With the code snippet below, you can leave a note for them and put your phone number under the "At a Glance" section:
Don't put your personal number, though: You wouldn't want to be called up at 11 p.m. on Saturday.
There are many default widgets that WordPress offer in its core, and the "Meta" widget is one of them. With the help of the wp_meta
action, we can customize the widget any way you like.
Granted, the "Meta" widget isn't the most popular one among WordPress' default widgets, but you can make it more functional and appealing by adding extra lines and links to it, like so:
Follow us on Twitter:' . $twitter_username . ''; ?>
Of course, this is just a cheesy example but hey, it works!
The "dashboard" is the main page of the administration panel of every WordPress installation. With the wp_dashboard_setup
action, you can customize the dashboard any way you like.
If you use Disqus in your comments section (without the official plugin) and want to see latest comments in your dashboard, you can use the code snippet below to add a dashboard widget:
' . '
Modificați variabilele $ disqus_username
$ NUMBER_OF_COMMENTS
și ești bine să pleci!
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.
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:
Dacă aveți nevoie de lucruri după ce WordPress termină încărcarea pluginurilor activate, puteți conta pe plugins_loaded
acțiune.
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.
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!