Ich bin ganz neu bei WP. Aufgabe ist es, ein Plugin für die OAuth-Authentifizierung auf einem der nicht populären OpenID-Anbieter zu entwickeln. Ich habe dasselbe für das CodeIgniter-Projekt getan, aber WP ist ein CMS und für mich etwas komplex zu verstehen. In Codeigniter prüfe ich vor jeder Aktion die Berechtigung. In WP brauche ich einen Haken, der dafür verwendet wird … vor jedem Seitendruck, oder vielleicht … es wäre richtig zu sagen, vor jeder Aktion in Bezug auf Frameworks. Wie heißt dieser Haken?
WordPress-Hooks zum Ausführen direkt vor jeder Aktion oder dem Laden von Seiten
Letzter Haken vor dem Laden der Vorlage ist template_redirect
Sie können es wie folgt verwenden:
function my_function(){
// your code goes here
}
add_action( "template_redirect", "my_function" );
-
Ich weiß nicht warum, aber “init” Hook wird zweimal ausgeführt und “template_redirect” wird nur einmal ausgeführt, danke.
– Rafaelfndev
19. Februar 2019 um 14:33 Uhr
Sie können den Hook ‘init’ verwenden. Es wird vor Element- oder HTML-Code ausgeführt. Es ist auch nützlich, POST- und GET-Variablen zu verwalten. Die Syntax ist ungefähr so:
function yourfunction() {
dosomething();
}
add_action('init', yourfunction);
-
Der zweite Parameter ist eine Zeichenfolge. Vielleicht hat sich das seit dieser Antwort geändert.
– plushyObject
29. Dezember 2016 um 20:20 Uhr
-
Ich habe dies abgelehnt, weil es einen Hook gibt, der “direkt vor” dem Laden der Seite ausgelöst wird und nicht “init”. Es ist “template_redirect”. Ich habe dafür eine neue Antwort erstellt.
– Marc van Nieuwenhuijzen
23. Februar 2017 um 11:11 Uhr
Eine Liste aller verfügbaren Haken finden Sie hier: https://codex.wordpress.org/Plugin_API/Action_Reference
Informationen zu Haken: https://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters
Andere Hooks müssen vorgeschlagen werden und werden in einer zukünftigen Version hinzugefügt, wenn dies ein guter Vorschlag ist. Oder Sie müssten die Kerndateien bearbeiten;)
-
Ich habe diese Seiten im Codex durchsucht, bevor ich hier Fragen gestellt habe. Und konnte keinen passenden Hook finden. Ich brauche etwas, das direkt vor jeder Aktion ausgeführt wird (in Bezug auf Frameworks).
– Fabrikmädchen
11. April 2013 um 12:19 Uhr
-
Warum sollten Sie diese b4-Aktion ausführen müssen? nur um auf den Punkt zu kommen, Sie möchten den Check am Anfang von allem ausführen … nicht einmal vor jeder möglichen Aktion (1000 Mal 😉 ), wenn Sie ihn zum frühestmöglichen Zeitpunkt ausführen möchten, schlage ich loop_start oder init vor
– Xavjer
11. April 2013 um 12:31 Uhr
-
Vielleicht ist ein Haken zum Aufrufen verfügbar, bevor jede Seite geladen wird?
– Fabrikmädchen
11. April 2013 um 12:42 Uhr
-
Wie wäre es mit muplugins_loaded Nachdem unbedingt zu verwendende Plugins geladen wurden (dies ist der früheste Hook, den Sie verwenden könnten, [the order of the hooks is the order in which they are called)
– XavjerApr 11, 2013 at 12:59
-
This hook is used before loading each page?
– Factory GirlApr 11, 2013 at 13:01
You mean a hook when all wordpress function will available but before any output including headers sent?
Well hook your function on init
. That will call when visiting site. If you want this hook only for admin area then it is admin_init
.
Überprüfen Sie dies codex.wordpress.org/Plugin_API/Filter_Reference und das codex.wordpress.org/Plugin_API/Action_Reference für alle Haken. Sie können für diese Überprüfung auch Ihre eigenen Hooks erstellen archive.extralogical.net/2007/06/wphooks , wpengineer.com/1302/define-your-own-wordpress-hooks, sandeepthemaster.wordpress.com/2012/11/26/198
– Sabari
11. April 2013 um 11:59 Uhr