wpseo_init_rest_api()


WordPressの関数wpseo_init_rest_api()は、Yoast SEOプラグインでREST APIエンドポイントを初期化するために使用されます。この関数を使用することで、REST API経由でSEOデータを取得および操作する機能が有効になります。

シンタックス

wpseo_init_rest_api();

例 1: Yoast SEOのREST APIを有効化

以下のコードは、Yoast SEOのREST APIエンドポイントを初期化します。

add_action( 'rest_api_init', 'wpseo_init_rest_api' );

例 2: REST APIエンドポイントが有効か確認

REST APIが正しく有効化されているか確認します。

if ( has_action( 'rest_api_init', 'wpseo_init_rest_api' ) ) {
    echo 'REST APIエンドポイントが有効です。';
}

例 3: カスタムエンドポイントと連携

Yoast SEOのエンドポイントとカスタムRESTエンドポイントを連携させます。

add_action( 'rest_api_init', function() {
    wpseo_init_rest_api();
    register_rest_route( 'custom/v1', '/example', array(
        'methods' => 'GET',
        'callback' => function() {
            return array( 'message' => 'カスタムエンドポイントとYoast SEOが連携しました。' );
        },
    ) );
} );

例 4: REST API経由でSEOデータ取得

REST API経由で特定の投稿のSEOデータを取得します。

$response = wp_remote_get( site_url( '/wp-json/yoast/v1/post/123' ) );
if ( ! is_wp_error( $response ) ) {
    $seo_data = wp_remote_retrieve_body( $response );
    echo $seo_data;
}

例 5: エラーハンドリング

REST API初期化時にエラーハンドリングを追加します。

add_action( 'rest_api_init', function() {
    try {
        wpseo_init_rest_api();
    } catch ( Exception $e ) {
        error_log( 'Yoast SEO REST APIの初期化中にエラーが発生しました: ' . $e->getMessage() );
    }
} );

注意事項

  • wpseo_init_rest_api()はYoast SEOプラグインが有効化されている場合のみ動作します。
  • REST APIの使用が無効化されているサイトでは機能しません。
  • セキュリティに注意し、適切な権限チェックを行うことが推奨されます。