yoast_get_primary_term()


WordPressのyoast_get_primary_term()関数は、Yoast SEOプラグインによって提供される特定の投稿に関連付けられたプライマリターム(主要なカテゴリやタクソノミー用語)を取得するために使用されます。

シンタックス

yoast_get_primary_term( string $taxonomy, int $post_id = 0 );

引数の説明

  • $taxonomy (string) — プライマリタームを取得したいタクソノミーのスラッグ(例: ‘category’, ‘post_tag’)。
  • $post_id (int) — 投稿のID。指定しない場合は現在の投稿が使用されます。

例1: 投稿のプライマリカテゴリを取得

以下のコードは、投稿のプライマリカテゴリ名を取得します。

<?php
$primary_term = yoast_get_primary_term( 'category', get_the_ID() );
echo $primary_term;
?>

例2: プライマリタームを条件付きで表示

特定のプライマリタームに基づいて条件を処理します。

<?php
$primary_term = yoast_get_primary_term( 'category', get_the_ID() );
if ( $primary_term === 'ニュース' ) {
    echo 'この記事はニュースカテゴリに属しています。';
}
?>

例3: カスタムタクソノミーのプライマリタームを取得

カスタムタクソノミーでのプライマリタームの取得方法を示します。

<?php
$primary_term = yoast_get_primary_term( 'custom_taxonomy', get_the_ID() );
echo $primary_term;
?>

例4: プライマリタームをショートコードとして表示

以下のコードは、プライマリタームをショートコードで表示する方法を示します。

<?php
function display_primary_term_shortcode( $atts ) {
    $taxonomy = $atts['taxonomy'] ?? 'category';
    $primary_term = yoast_get_primary_term( $taxonomy, get_the_ID() );
    return $primary_term;
}
add_shortcode( 'primary_term', 'display_primary_term_shortcode' );
?>

例5: 投稿一覧でプライマリタームを表示

投稿ループ内でプライマリタームを取得して表示します。

<?php
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        $primary_term = yoast_get_primary_term( 'category', get_the_ID() );
        echo '<h2>' . get_the_title() . '</h2>';
        echo '<p>プライマリカテゴリ: ' . $primary_term . '</p>';
    }
}
?>

注意点

yoast_get_primary_term()はYoast SEOプラグインがインストールされていないと利用できません。プラグインが無効化されている場合、この関数はエラーを引き起こす可能性があります。そのため、使用する前にfunction_exists()で確認することをお勧めします。