2017-05-26 12 views
12

wp 4.7.4でカスタムプラグインを実行しようとしています。以下は私の単純なプラグインrest_api_initイベントが起動しません

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; 

} 

私はwp-jsonエンドポイントを要求すると、私はそこにはプラグインのルートを見ていないです。プラグインが正常にアクティブ化されました。私は何かを逃したか?上記のプラグイン(またはrest_api_initイベントに基づく類似のプラグイン)は他の誰でも使えますか?ありがとう。

+0

を持っていますか? –

+0

@TyBailey、permalinks設定で私は 'Day and name'構造を持っています。 –

+0

静的なページを試して、それが機能するかどうか確認できますか? .htaccessや他のどこかのルーティングルールを使って、コード内で何か起こっていることを除外します。も優先順位があることを忘れないでください。 4番目のパラメータをtrueとして追加することもできます。 – Shawn

答えて

0

最新のビルドを使用すると、rest_api_initアクションが実行されていません。 plugin.phpにこのコードのように見える常に空とリターンで、rest_api_initアクションが発射できるようにすることはありません:

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

したがって、このケースはpretty permalinks https://github.com/WP-API/WP-API/issues/1475を使用して解決しました –

2

かなりパーマリンクなどの変更あなたのパーマリンクを
1、チェックリストの下に参照して確認してください。
2. .htacessファイルを確認します(パーマリンク構造を保存するときに書き込み可能で、wpで書き換え可能です)。
3. [認証]をオンにします。カスタムエンドポイントの作成方法下記 4.チェック、

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/

関連する問題