web-dev-qa-db-ja.com

カスタムを追加するとき REST エンドポイント、どこにエンドポイント関数を置き、どこに関数登録呼び出しを置きますか。

カスタムのRESTエンドポイントを作成するためにあなたが書いたコードを記述することはWordPressの文書、ブロガー、StackExchangeの回答者の間で素晴らしい仕事をしていますが、WHEREコード。

「foo」という文字列を返したいエンドポイントがあるとします。私の読書から、私はこのような機能を実装します。

function my_foo() {
    return "foo";
}

そして私はこのような呼び出しで関数を登録します。

add_action( 'rest_api_init', function () {
    register_rest_route( 'mycompany/v1', '/foo/', array(
            'methods' => 'GET',
            'callback' => 'my_foo'
    ) );
} )

これについて難しいことは何もありませんが、私の人生のために私はこれらを置くためにどこに把握することはできません。

RESTエンドポイントの場合は、ファイル内の関数を次のように配置します。

wp-json/mycompany/v1/foo.php

確かに知っておくといいでしょう。

add_action()呼び出しに関しては、その呼び出しがどこに行くのかを見つけるのに時間がかかります。

資料 here は、記事{ here (および私が見つけた他の多くの情報源)がそうであるように、これらの呼び出しがどこにあるべきかを記述していません。

誰かがこれらの場所が文書化されている場所を指摘できれば、あるいは私が目の前に何かが欠けているのなら、それは素晴らしいことです!

5
Rjak

もしあなたがテーマを開発しているなら、この場合あなたのテーマがfunctions.phpファイルならあなたのコードを置くための適切な場所。これはあなたのウェブサイトがアクセスされているとき確実に実行されるファイルです。

プラグインを開発しているなら、あなたのコードをphpファイルの中に入れ(foo.phpのように)、それからあなたの必要性に合ったものをあなたのテンプレートに含める/要求することができます。

wp-contentフォルダまたはプラグインの外にあるファイルを保存または変更しないでください。これらはWordPressの更新によって上書きされ、いくつかのマルウェア対策プラグイン/サーバーアプリによってマルウェアとして識別される可能性があります。

あなたは実際にあなたのプラグインのコアファイルの中に直接あなたのコードを置くことができます、しかし、私は私が後でそれらにアクセスするか、または修正する必要がある場合私は機能を分類するのを好みます(個人的な意見).

3
Jack Johansson