Wenn ich darum bitte wp-json Endpunkt sehe ich dort keine Plugin-Route. Plugin wurde erfolgreich aktiviert. Habe ich etwas verpasst? Funktioniert das obige Plugin (oder ein ähnliches basierend auf rest_api_init event) funktioniert für jemand anderen? Vielen Dank.
Hast du hübsche Permalinks aktiviert?
– Ty Bailey
31. Mai 2017 um 20:34 Uhr
@TyBailey, in den Einstellungen für Permalinks habe ich die Struktur „Tag und Name“.
– Anton Putau
1. Juni 2017 um 8:31 Uhr
Können Sie eine statische Seite ausprobieren und sehen, ob das funktioniert? Schließen Sie etwas aus, das mit .htaccess oder einer anderen Routing-Regel irgendwo anders in Ihrem Code passiert. Vergessen Sie nicht, dass es auch einen Vorrang gibt. Vielleicht möchten Sie den vierten Parameter als wahr hinzufügen.
Dann wird es funktionieren. Mir fehlte wp-json in der URL.
Gnanasekaran Loganathan
Siehe folgende Checkliste,
1. Ändern Sie Ihren Permalink in einen hübschen Permalink und überprüfen Sie ihn.
2. Überprüfen Sie Ihre .htacess-Datei (sie sollte beschreibbar sein, wenn Sie die Permalink-Struktur speichern, die von wp wiederbeschreibbar ist).
3. Prüfen Sie Auth.
4. Überprüfen Sie unten die Methode zur benutzerdefinierten Endpunkterstellung,
In meinem Fall war der Rückruf tatsächlich eine private Methode. Ich musste es in eine öffentliche Methode ändern, damit alles funktioniert:
class Example {
function __construct() {
add_action( 'rest_api_init', [ $this, 'example_method' ] );
}
public function example_method() {
/* This will not work if the method is private! */
/* ... */
}
}
new Example();
Bei einer Installation verursachte die private Methode einen Fehler mit einem Stack-Trace, aber bei einer anderen Installation wurde die private Methode einfach nicht aufgerufen und es wurden keine Fehler generiert. Ich bin mir immer noch nicht sicher, warum eine Maschine so reagiert hat und nicht die andere, beide hatten es WP_DEBUG und WP_DEBUG_LOG auf wahr setzen.
Mit dem neuesten Build sehe ich nicht, dass die Aktion rest_api_init ausgelöst wird. Sieht so aus, als ob dieser Code in der plugin.php immer leer ist und zurückkehrt, ohne dass die Aktion rest_api_init ausgelöst wird:
if ( empty( $GLOBALS['wp']->query_vars['rest_route'] ) ) {
return;
}
Überprüfen Sie, ob Ihr Plugin aktiviert ist, es wird nicht ausgelöst, wenn es nicht aktiviert ist.
14024700cookie-checkrest_api_init-Ereignis wurde nicht ausgelöstyes
Hast du hübsche Permalinks aktiviert?
– Ty Bailey
31. Mai 2017 um 20:34 Uhr
@TyBailey, in den Einstellungen für Permalinks habe ich die Struktur „Tag und Name“.
– Anton Putau
1. Juni 2017 um 8:31 Uhr
Können Sie eine statische Seite ausprobieren und sehen, ob das funktioniert? Schließen Sie etwas aus, das mit .htaccess oder einer anderen Routing-Regel irgendwo anders in Ihrem Code passiert. Vergessen Sie nicht, dass es auch einen Vorrang gibt. Vielleicht möchten Sie den vierten Parameter als wahr hinzufügen.
– Shawn
1. Juni 2017 um 20:52 Uhr