私はWordpressの4.9.5
を使っていて、次のようなカスタムエンドポイントを作成したいです。
<?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";
}
私が使用しているURLは次のとおりです。
http://localhost/wordpress-site/wp-json/miningRigs/v1/createRig/
しかし、私はpost-route
と引き換えに次のようになります。
{"code":"rest_no_route","message":"No route was found matching the URL and request method","data":{"status":404}}
get-route
は完璧に動作しています!
私は現在第三者のプラグインを使用していません。
post-route
に対してこのエラーをデバッグする方法について何か提案はありますか?私のコードから、すべてがうまくいっているように見えます!
お返事ありがとうございます。
POSTのみの休止コールバックではGETしないでください。以下のコードはPOST呼び出しのみを作成します
register_rest_route('miningRigs/v1', 'createRig', array(
'methods' => WP_REST_SERVER::CREATABLE,
'callback' => 'createMiningRig',
));
http:// localhost/wordpress-site/wp-json/miningRigs/v1 をチェックすると、POST on createRig のみが表示されます。
私はちょうどあなたのコードをコピー/貼り付け+ https://pressupinc.com/blog/2013/07/minimum-viable-wordpress-plugin/ を追加して/ 4.9.5でプラグインを有効にし、それは期待どおりに動作しますa WP 4.9.5