Scheint, dass admin_post_ {action} nicht ausgeführt wird

Ich versuche verschiedene Aktionen meines Plugins mit admin_post_ {action} hook zu verarbeiten.

Aber folgender Code scheint nicht zu funktionieren

class TestPlugin { function test(){ die('working!'); } function __construct(){ add_action( 'admin_post_test', array($this, 'test')); } } new TestPlugin(); 

Ich fange an, dieses Ereignis zu feuern, indem ich folgende URL folge : https: //test.local/wp-admin/edit.php? Page = test-plugin% 2Ftest-plugin.php & action = test

Solutions Collecting From Web of "Scheint, dass admin_post_ {action} nicht ausgeführt wird"

Es ist einfach der falsche Endpunkt. Der admin_post_* und sein Gegenstück admin_post_nopriv_* nicht für eine Admin-Seite mit der entsprechenden action ausgetriggers, sondern nur für Anfragen, die auf wp-admin/admin-post.php .

Versuchen Sie stattdessen https: //test.local/wp-admin/admin-post.php? Action = test .


Ich sollte hinzufügen, dass die Verwendung von admin-post.php zur Behandlung von Plugin-Aktionen möglicherweise nicht angemessen ist. Wenn Sie den Benutzer auf seine Herkunftsseite zurückgeben möchten, müssten Sie ihn redirect und seine Anforderungsdaten verlieren. Dies ist eine schreckliche UX, wenn Sie sie beispielsweise zurückgeben, weil ein Formularfeld ungültig ist, wie dies bei Formularen der Fall wäre Jetzt sei leer.