In dieser Serie werfen wir einen Blick auf WordPress-Aktionen: Ein Hook-Typ, den die Anwendung bietet, mit dem wir die Ausführung anpassen können. Im letzten Artikel haben wir uns die zweite Gruppe von 10 Aktionen angesehen, mit denen wir bis zu 20 erreicht haben, die wir bisher behandelt haben.
Im Sinne der vorangegangenen Artikel werfen wir einen Blick auf weitere 10 Aktionen mit Beispielen.
Lassen Sie uns damit fortfahren.
Manipulieren get_posts ()
Bevor es verarbeitet wird
Das pre_get_posts
action behandelt eine der wichtigsten Abfragefunktionen: get_posts ()
.
Angenommen, Sie führen ein Blog zur Überprüfung von Filmen und benötigen den Beitragstyp "Movies", um in den Suchergebnissen angezeigt zu werden. Sie können jeden gewünschten Beitragstyp mithilfe der folgenden Codezeilen einfügen:
is_main_query ()) if ($ query-> is_search) $ query-> set ('post_type', array ('post', 'movie')); // Beispielquelle: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts?>
Voilà! Die Suchergebnisse Ihrer Website enthalten jetzt zusätzlich zu den regulären Beiträgen den Beitragstyp "Filme".
Es gibt tatsächlich viele Aktionen für Post-Status-Übergänge - draft_to_publish
, new_to_future
, publish_to_private
und so weiter. WordPress sammelt diese Aktionen und ruft sie auf $ old_status _nach _ $ new_status
im Kodex.
Wenn Sie jedoch eine Aktion benötigen, um alle Statusänderungen im Auge zu behalten, können Sie das verwenden Übergangspost_Status
Aktion.
Stellen Sie sich vor, Sie betreiben ein Multi-Autoren-Blog mit drei Editoren und benötigen Informationen zu jeder Statusänderung. In diesem Fall können Sie den folgenden Code-Snippet verwenden:
post_type! == 'post') return; $ title = $ post-> post_title; $ to = get_option ('admin_email'); $ subject = 'Beitragsstatus geändert'; $ body = "Hey, \ n \ nDer Status des Beitrags \" $ title \ "wurde von \" $ old_status \ "in \" $ new_status \ "geändert. \ n \ nCheers!"; wp_mail ($ to, $ subject, $ body); ?>
Wenn Sie jemals eine JavaScript-Datei in das Administrationsfenster Ihrer Website einfügen müssen, klicken Sie auf admin_enqueue_scripts
Aktion ist für Sie: Diese praktische kleine Aktion ist für das Einreihen der Skripte (und der Stile) in das WordPress-Dashboard verantwortlich.
Angenommen, Sie haben eine spezielle Meta-Box erstellt, benötigen jedoch eine JavaScript-Datei im Ordner Ihres Plugins, damit die Meta-Box funktioniert. Wie geht's? Sie drucken keine 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:
' . '
Ändern Sie die Variablen $ disqus_username
$ number_of_comments
und du bist gut zu gehen!
Oh schau, eine Aktion für eine steckbare Funktion! WordPress definiert "steckbare Funktionen" folgendermaßen:
Diese Funktionen können über Plugins ersetzt werden. Wenn Plugins diese Funktionen nicht neu definieren, werden diese stattdessen verwendet.
Und diese handliche kleine Aktion ist Teil des Plug-In wp_set_current_user
Kernfunktion, die den aktuellen Benutzer nach ID oder Name ändert.
Wir werden den Benutzer jetzt nicht ändern, stattdessen werden wir die Aktion nutzen, die Fähigkeiten des aktuellen Benutzers prüfen und dann die Symbolleiste deaktivieren, wenn der Benutzer nur ein Abonnent ist:
Wenn Sie nach dem Laden der aktivierten Plugins noch etwas erledigen müssen, können Sie sich darauf verlassen plugins_loaded
Aktion.
Der richtige Weg, um Ihr Plugin zu initialisieren und es zum Laufen zu bringen, hängt von seiner Hauptfunktion ab plugins_loaded
Aktion. Hier haben wir das einfachste Beispiel der Welt:
Dies ist ein Dummy-Text!'; // Beispielquelle: http://www.scratchinginfo.com/common-wordpress-action-hooks-for-plugin-development/?>
Wenn Sie ein besseres Beispiel brauchen, und ich bin mir sicher, dass Sie das tun sollten, sollten Sie sich unbedingt die "WordPress Plugin Boilerplate" von Tom McFarlin ansehen, die alles enthält, was Sie zum Erstellen eines WordPress-Plugins mit dem Konzept der objektorientierten Programmierung benötigen.
Wir haben die dritte Reihe von 50 Aktionen in diesem Artikel durchlaufen. Ich hoffe es hat euch gefallen und neue Dinge daraus gelernt. Wir sehen uns im nächsten!
Ich möchte auch deine Gedanken hören. Was denkst du über diese Handlungen? Veröffentlichen Sie Ihre Kommentare unten. Und wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn zu teilen!