解答例1
フィールドの値によって表示するテンプレートを分けるには、次の手順でコーディングします。
- タームのフィールドの値を取得します。
- フィールドの値に応じて、表示するテンプレートを指定します。
具体的なコードは、次のようになります。
PHP
// タームのフィールドの値を取得
$field_value = get_field('フィールド名', $term);
// フィールドの値に応じて、表示するテンプレートを指定
switch ($field_value) {
case '値1':
get_template_part('taxonomy-term-template1');
break;
case '値2':
get_template_part('taxonomy-term-template2');
break;
default:
get_template_part('taxonomy-term-template-default');
break;
}
コードは慎重に使用してください。詳細content_copy
たとえば、タクソノミー「カテゴリー」の「色」フィールドの値によって表示するテンプレートを分けたい場合は、次のようになります。
PHP
// タームの「色」フィールドの値を取得
$color = get_field('色', $term);
// 「色」フィールドの値に応じて、表示するテンプレートを指定
switch ($color) {
case '赤':
get_template_part('taxonomy-term-template-red');
break;
case '青':
get_template_part('taxonomy-term-template-blue');
break;
default:
get_template_part('taxonomy-term-template-default');
break;
}
コードは慎重に使用してください。詳細content_copy
このコードでは、まず「色」フィールドの値を取得します。次に、取得した値に応じて、次のいずれかのテンプレートを表示します。
- 「色」フィールドの値が「赤」の場合、
taxonomy-term-template-red
テンプレートを表示します。 - 「色」フィールドの値が「青」の場合、
taxonomy-term-template-blue
テンプレートを表示します。 - それ以外の場合、
taxonomy-term-template-default
テンプレートを表示します。
なお、switch
文の代わりに if
文を使用しても構いません。
PHP
// タームの「色」フィールドの値を取得
$color = get_field('色', $term);
// 「色」フィールドの値が「赤」の場合
if ($color === '赤') {
get_template_part('taxonomy-term-template-red');
}
// 「色」フィールドの値が「青」の場合
else if ($color === '青') {
get_template_part('taxonomy-term-template-blue');
}
// それ以外の場合
else {
get_template_part('taxonomy-term-template-default');
}
コードは慎重に使用してください。詳細
解答例2
フィールドの値によって表示するテンプレートを分けるには、if文やswitch文などを使用して、タームのフィールドの値を判別します。
例えば、タームの「色」フィールドの値によって表示するテンプレートを分けたい場合は、次のようになります。
PHP
// タームのフィールド「色」の値を取得する
$color = $term->term_meta['color'];
// 色によって表示するテンプレートを分岐する
switch ($color) {
case 'red':
// 赤色のタームを表示するテンプレートを使用する
include 'taxonomy-terms-red.php';
break;
case 'green':
// 緑色のタームを表示するテンプレートを使用する
include 'taxonomy-terms-green.php';
break;
case 'blue':
// 青色のタームを表示するテンプレートを使用する
include 'taxonomy-terms-blue.php';
break;
default:
// その他の色のタームを表示するテンプレートを使用する
include 'taxonomy-terms.php';
break;
}
コードは慎重に使用してください。詳細content_copy
上記のコードでは、まずタームの「色」フィールドの値を取得します。その後、switch文を使用して、値によって表示するテンプレートを分岐しています。
例えば、タームの「色」フィールドの値が「red」の場合は、「taxonomy-terms-red.php」テンプレートを使用します。値が「green」の場合は、「taxonomy-terms-green.php」テンプレートを使用します。値が「blue」の場合は、「taxonomy-terms-blue.php」テンプレートを使用します。それ以外の値の場合は、「taxonomy-terms.php」テンプレートを使用します。
この方法では、フィールドの値が複数ある場合でも、簡単に分岐して表示するテンプレートを分けることができます。
また、if文を使用して、フィールドの値が特定の値に一致する場合のみ、別のテンプレートを使用することもできます。
例えば、タームの「色」フィールドの値が「red」または「green」のみの場合、次のようになります。
PHP
// タームのフィールド「色」の値を取得する
$color = $term->term_meta['color'];
// 色が「red」または「green」の場合、別のテンプレートを使用する
if ($color == 'red' || $color == 'green') {
// 別のテンプレートを使用する
include 'taxonomy-terms-red-or-green.php';
} else {
// デフォルトのテンプレートを使用する
include 'taxonomy-terms.php';
}
コードは慎重に使用してください。詳細content_copy
上記のコードでは、まずタームの「色」フィールドの値を取得します。その後、if文を使用して、値が「red」または「green」に一致する場合は、別のテンプレート「taxonomy-terms-red-or-green.php」を使用するようにしています。値が一致しない場合は、デフォルトのテンプレート「taxonomy-terms.php」を使用しています。