J'utilise Wordpress 4.9.5
et je souhaite créer un point de terminaison personnalisé comme suit:
<?php
add_action('rest_api_init', 'miningRigsRoutes');
function miningRigsRoutes()
{
register_rest_route('miningRigs/v1', 'createRig', array(
'methods' => WP_REST_SERVER::CREATABLE,
'callback' => 'createMiningRig',
));
register_rest_route('miningRigs/v1', 'allRigs', array(
'methods' => WP_REST_SERVER::READABLE,
'callback' => 'allMiningRigs',
));
}
function createMiningRig($data)
{
//var_dump($data);
//print_r($data);
return "Thanks for using the API";
}
function allMiningRigs() {
return "All mining Rigs";
}
L'URL que j'utilise est:
http://localhost/wordpress-site/wp-json/miningRigs/v1/createRig/
Cependant, je reçois ce qui suit en retour du post-route
:
{"code":"rest_no_route","message":"No route was found matching the URL and request method","data":{"status":404}}
Le get-route
fonctionne parfaitement bien!
Je n'utilise actuellement aucun plugin tiers.
Des suggestions comment déboguer cette erreur pour le post-route
? De mon code, tout va bien!
J'apprécie vos réponses!
Vous ne devriez pas obtenir un rappel POST uniquement. Le code ci-dessous crée un appel POST uniquement
register_rest_route('miningRigs/v1', 'createRig', array(
'methods' => WP_REST_SERVER::CREATABLE,
'callback' => 'createMiningRig',
));
Vérifiez http: // localhost/wordpress-site/wp-json/miningRigs/v1 qui indique que vous ne pouvez que POST sur createRig
Je viens de copier/coller votre code + ajouté le https://pressupinc.com/blog/2013/07/minimum-viable-wordpress-plugin/ puis activé le plugin sur 4.9.5 et cela fonctionne comme prévu sur a WP 4.9.5