wpseo_save_title()


WordPressのwpseo_save_title()関数は、Yoast SEOプラグインを使用してタイトルを保存する際に利用される内部関数です。

構文

wpseo_save_title();

この関数は引数を受け取りません。

例 1: 投稿タイトルを保存する

投稿タイトルを保存するための基本的な使用方法です。

add_action( 'save_post', 'wpseo_save_title' );

例 2: タイトルをカスタムフィールドにコピー

投稿のタイトルを保存する際に、カスタムフィールドにもコピーします。

add_action( 'save_post', function( $post_id ) {
    if ( ! defined( 'DOING_AUTOSAVE' ) || ! DOING_AUTOSAVE ) {
        $title = get_post_field( 'post_title', $post_id );
        update_post_meta( $post_id, '_custom_title', $title );
        wpseo_save_title();
    }
});

例 3: 条件付きでタイトルを変更して保存

特定の条件で投稿タイトルを変更して保存します。

add_action( 'save_post', function( $post_id ) {
    if ( has_category( 'news', $post_id ) ) {
        $new_title = 'ニュース - ' . get_post_field( 'post_title', $post_id );
        wp_update_post( [
            'ID' => $post_id,
            'post_title' => $new_title,
        ] );
        wpseo_save_title();
    }
});

例 4: タイトルのログを記録

投稿のタイトルが保存された際に、それをログに記録します。

add_action( 'save_post', function( $post_id ) {
    $title = get_post_field( 'post_title', $post_id );
    error_log( 'Title saved: ' . $title );
    wpseo_save_title();
});

例 5: 特定の投稿タイプでのみ動作

特定の投稿タイプ(例: ‘product’)の投稿に対してのみタイトルを保存します。

add_action( 'save_post_product', 'wpseo_save_title' );

注意事項

wpseo_save_title()はYoast SEOプラグインに依存しているため、プラグインが有効でない場合は機能しません。
この関数は通常、直接使用することを想定していませんが、適切なアクションフックと組み合わせて使用できます。