2017-05-26 5 views
12

Ich versuche, benutzerdefinierte Plugin auf Wp 4.7.4 auszuführen. Unten ist mein einfaches Pluginrest_api_init Ereignis nicht ausgelöst

add_action('rest_api_init', 'register_routes'); 


function register_routes() { 
    register_rest_route('taxonomy-manager/v1', '/taxonomies/(P<taxonomy_type>[a-zA-Z]+)', array(
    'methods' => 'GET', 
    'callback' => 'get_or_insert' 
)); 
} 

function get_or_insert(WP_REST_Request $request) { 

    $parameters = $request->get_params(); 

    return $parameters; 

} 

Wenn ich wp-json Endpunkt beantrage ich dort keine Plugin Route zu sehen. Plugin wurde erfolgreich aktiviert. Habe ich etwas verpasst? Funktioniert das oben genannte Plugin (oder ein ähnliches, basierend auf rest_api_init Ereignis) für irgendjemand anderen? Vielen Dank.

+0

Haben Sie ziemlich Permalinks aktiviert? –

+0

@ TyBailey, in Permalinks Einstellungen habe ich 'Tag und Name' Struktur. –

+0

Können Sie eine statische Seite versuchen und sehen, ob das funktioniert? Überprüfe etwas mit .htaccess oder einer anderen Routing-Regel woanders in deinem Code. Vergiss nicht, dass es auch einen Präzedenzfall gibt. Möchte den vierten Parameter als wahr hinzufügen. – Shawn

Antwort

0

Mit der neuesten Build sehe ich nicht die rest_api_init Aktion ausgelöst wird. Sieht aus wie dieser Code in der plugin.php immer leer und kehrt ist, nie die rest_api_init Aktion ermöglicht die entlassen werden:

if (empty($GLOBALS['wp']->query_vars['rest_route'])) { 
    return; 
} 
+0

Also, dieser Fall wurde gelöst, indem hübsche Permalinks https://github.com/WP-API/WP-API/issues/1475 verwendet –

2

unten Checkliste Siehe,
1. Ändern Sie Ihre permalink als ziemlich permalink und überprüfen.
2. Überprüfen Sie Ihre .htacess-Datei (es sollte schreibbar sein, wenn Sie Permalink-Struktur speichern, die durch wp wiederbeschreibbar ist).
3. Check Auth. 4. Überprüfen Sie unter Erstellungsmethode benutzerdefinierte Endpunkt,

add_action('rest_api_init', function() { 
    register_rest_route('myplugin/v1', '/author/(?P<id>\d+)', array(
    'methods' => 'GET', 
    'callback' => 'my_awesome_func', 
)); 
}); 

REF: https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

Verwandte Themen