WordPress REST apiを使用して、インストールされているすべてのWordPressテーマのリストを、それらのメタ情報(名前、ステータス、作成者など)と共に取得したいと思いました。また、私のAPIクライアントを介して任意のテーマをアクティブにできるようにしたいと思いました。
このドキュメント を読み終えましたが、関連するエンドポイントは見つかりませんでした。
現時点では可能ですか?
あなた自身のエンドポイントを書き、それを通してテーマのリストを得るために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経由でテーマを有効化/無効化することはお勧めしません。活性化されたウィジェットのようなものを完全にめちゃくちゃにすることができます。