Dans cette série, nous examinons les actions WordPress: un type de hook offert par l'application qui nous permet de personnaliser l'exécution. Dans le dernier article, nous avons examiné la deuxième série de 10 actions portant jusqu'à 20 actions que nous avons couvertes jusqu'à présent..
Conformément à l’esprit des articles précédents, nous allons examiner 10 actions supplémentaires ainsi que des exemples de chacune d’elles..
Cela dit, reprenons.
Manipuler get_posts ()
Avant qu'il soit traité
le pre_get_posts
action gère l'une des fonctions de requête les plus importantes: get_posts ()
.
Supposons que vous dirigiez un blog de critique de film et que vous ayez besoin du type de message "Films" pour apparaître dans les résultats de la recherche. Vous pouvez inclure n'importe quel type de publication à l'aide des lignes de code suivantes:
is_main_query ()) if ($ query-> is_search) $ query-> set ('post_type', array ('post', 'movie')); // Exemple de source: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts?>
Voilà! Maintenant, les résultats de recherche de votre site Web incluront le type de message "Films" en plus des messages normaux..
Il y a en fait beaucoup d'actions pour les transitions post status - draft_to_publish
, new_to_future
, publier_au_privé
etc. WordPress rassemble cet ensemble d’actions et l’appelle $ old_status _to _ $ new_status
dans le Codex.
Mais si vous avez besoin d’une action pour garder un œil sur tous les changements de statut, vous pouvez utiliser le bouton état de transition
action.
Imaginez que vous dirigiez un blog multi-auteurs avec trois éditeurs et que vous ayez besoin d'informations sur chaque changement de statut. Si tel est le cas, vous pouvez utiliser l'extrait de code ci-dessous:
post_type! == 'post') return; $ title = $ post-> post_title; $ to = get_option ('admin_email'); $ subject = 'Le statut de la publication a été modifié'; $ body = "Hé, \ n \ nLe statut de la publication \" $ title \ "a été changé de \" $ old_status \ "à \" $ new_status \ ". \ n \ nCheers!"; wp_mail ($ to, $ subject, $ body); ?>
Si vous avez besoin d’injecter un fichier JavaScript dans le panneau d’administration de votre site Web, le admin_enqueue_scripts
L'action est faite pour vous: Cette petite action pratique est responsable de la mise en file d'attente des scripts (et des styles) à l'intérieur du tableau de bord WordPress.
Supposons que vous ayez créé une méta-boîte spéciale, mais que vous ayez besoin d'un fichier JavaScript dans le dossier de votre plugin pour que la méta-boîte fonctionne. Que faire? Vous n'imprimez pas 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:
' . '
Changer les variables $ disqus_username
$ number_of_comments
et vous êtes prêt à partir!
Oh regarde, une action pour une fonction enfichable! WordPress définit les "fonctions enfichables" comme ceci:
Ces fonctions peuvent être remplacées via des plugins. Si les plugins ne redéfinissent pas ces fonctions, elles seront utilisées à la place..
Et cette petite action pratique fait partie du plug-in wp_set_current_user
fonction principale, qui change l'utilisateur actuel par son ID ou son nom.
Nous n'allons pas changer d'utilisateur pour le moment, mais plutôt profiter de l'action pour vérifier les capacités de l'utilisateur actuel, puis désactiver la barre d'outils si l'utilisateur n'est qu'un abonné:
Si vous avez besoin de faire quelque chose après que WordPress ait fini de charger les plugins activés, vous pouvez compter sur plugins_loaded
action.
La bonne façon d’initialiser votre plugin et de le faire fonctionner consiste à lier sa fonction principale au plugins_loaded
action. Nous avons ici l'exemple le plus simple au monde:
Ceci est un texte factice!'; // Exemple de source: http://www.scratchinginfo.com/common-wordpress-action-hooks-for-plugin-development/?>
Si vous avez besoin d'un meilleur exemple, et je suis sûr que vous en avez, vous devriez absolument consulter le "WordPress Plugin Boilerplate" de Tom McFarlin qui contient tout ce dont vous avez besoin pour créer un plugin WordPress avec le concept de programmation orientée objet à l'esprit..
Nous avons parcouru le troisième lot de 50 actions dans cet article. J'espère que vous avez aimé et appris de nouvelles choses. On se voit dans le prochain!
Je veux aussi entendre vos pensées. Que pensez-vous de ces actions? Postez vos commentaires ci-dessous; et si vous avez aimé l'article, n'oubliez pas de le partager!