web-dev-qa-db-ja.com

テーマリストの取得方法 REST api?

WordPress REST apiを使用して、インストールされているすべてのWordPressテーマのリストを、それらのメタ情報(名前、ステータス、作成者など)と共に取得したいと思いました。また、私のAPIクライアントを介して任意のテーマをアクティブにできるようにしたいと思いました。

このドキュメント を読み終えましたが、関連するエンドポイントは見つかりませんでした。

現時点では可能ですか?

2
Faisal Khurshid

あなた自身のエンドポイントを書き、それを通してテーマのリストを得るためにwp_get_themesを使うことができます。これは簡単なものです:

add_action( 'rest_api_init', function () {
    //Path to rest endpoint
    register_rest_route( 'theme_API/v1', '/get_theme_list/', array(
            'methods' => 'GET', 
            'callback' => 'theme_list_function' 
    ) );
});
// Our function to get the themes
function theme_list_function(){
    // Get a list of themes
    $list = wp_get_themes();
    // Return the value
    return $list;
}

http://example.com/wp-json/theme_API/v1/get_theme_listにアクセスしてテーマのリストを取得することができます。

API経由でテーマを有効化/無効化することはお勧めしません。活性化されたウィジェットのようなものを完全にめちゃくちゃにすることができます。

2
Jack Johansson