WP REST APIのエンドポイントをwp-json以外にする

WP REST APIのデフォルトエンドポイントはhttps://example.com/wp-jsonですが、変更することが可能です。 ここで紹介するコードはWordPress4.4以降であればコア実装されている関数を […]

広告ここから
広告ここまで

目次

    WP REST APIのデフォルトエンドポイントはhttps://example.com/wp-jsonですが、変更することが可能です。
    ここで紹介するコードはWordPress4.4以降であればコア実装されている関数を利用しているので、WP REST APIプラグインは特に必要ありません。

    コード

    add_filter( 'rest_url_prefix', 'another-prefix');
    

    2つめの引数に入れた値がプレフィックスになるので、上のコードだとhttps://example.com/another-prefixになります。

    使いどころ

    基本的に特に変えなければ困るということはないかと思います。
    勝手にwp-jsonへのリクエストが送られていてサーバー負荷辛いとか、独自のAPIエンドポイントっぽくしたい時とかに使う感じでしょうかね。

    プレフィックスだけ取得したい場合

    $prefix = rest_get_url_prefix();
    echo $prefix;
    

    これで現在設定されているプレフィックスを取得できます。

    元コード

    function rest_get_url_prefix() {
        /**
         * Filter the REST URL prefix.
         *
         * @since 4.4.0
         *
         * @param string $prefix URL prefix. Default 'wp-json'.
         */
        return apply_filters( 'rest_url_prefix', 'wp-json' );
    }
    

    最終行にフィルターフックが設置されているので、add_filterするとここの値が書き換えられるということですね。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark