wpseo_register_var_replacement()


WordPress関数wpseo_register_var_replacement()は、Yoast SEOプラグインで使用されるカスタム変数を登録するための機能です。この関数を使用することで、テンプレートやカスタムフィールドをSEOテンプレートに統合することが可能です。

構文

wpseo_register_var_replacement( string $var_name, callable $callback, string $type, string $description = '' );

引数の説明:

  • $var_name (string) — カスタム変数の名前(例: %%custom_variable%%)。
  • $callback (callable) — 変数の値を生成するコールバック関数。
  • $type (string) — 使用するタイプ(例: advancedbasic)。
  • $description (string) — カスタム変数の説明(オプション)。

例 1. シンプルなカスタム変数の登録

以下のコードは、カスタム変数%%custom_variable%%を登録し、投稿タイトルを返します。

wpseo_register_var_replacement(
    '%%custom_variable%%',
    function() {
        return get_the_title();
    },
    'basic',
    '現在の投稿のタイトルを表示します。'
);

例 2. 投稿IDの取得

投稿IDを取得するカスタム変数を登録します。

wpseo_register_var_replacement(
    '%%post_id%%',
    function() {
        return get_the_ID();
    },
    'advanced',
    '現在の投稿IDを表示します。'
);

例 3. カテゴリ名の取得

投稿のカテゴリ名を取得するカスタム変数を登録します。

wpseo_register_var_replacement(
    '%%category_name%%',
    function() {
        $categories = get_the_category();
        return !empty($categories) ? $categories[0]->name : '';
    },
    'basic',
    '最初のカテゴリ名を表示します。'
);

例 4. カスタムフィールドの値を取得

特定のカスタムフィールドの値を取得する変数を登録します。

wpseo_register_var_replacement(
    '%%custom_field%%',
    function() {
        return get_post_meta( get_the_ID(), 'custom_field_key', true );
    },
    'advanced',
    '指定されたカスタムフィールドの値を表示します。'
);

例 5. 作成者名の表示

投稿作成者の名前を取得するカスタム変数を登録します。

wpseo_register_var_replacement(
    '%%author_name%%',
    function() {
        return get_the_author();
    },
    'basic',
    '投稿の作成者名を表示します。'
);

注意事項

カスタム変数を登録する際は、$callbackで指定する関数が正しく値を返すことを確認してください。
変数名には%%で囲まれた形式を使用する必要があります。