If 语句显示 Post 元数据
If statement to display Post meta
我有一个名为 talent_cat
的分类法,它是所说 post 的类别,有 4 个值:modelos, atores, musica, djs
并且在每个个体 talent_cat
中有这些 post meta keys:
talent_id_1495127471815
对于 modelos
talent_id_1495127471816
对于 atores
talent_id_1495127471817
对于 musica
talent_id_1495127471818
对于 djs
我如何构建一个条件来根据所述 post 的 talent_cat
显示正确的 post meta
?因此,如果 post 属于 talent_cat = modelos
,则它 returns 属于 talent_id_1495127471815
而不是其他值。
我试过了,但没有成功:
$talent_data = get_the_term_list( $post->ID, 'talent_cat');
switch( $talent_data ) {
case 'modelos':
echo get_post_meta(get_the_ID(), 'talent_id_1495127471815', true);
break;
}
谢谢。
函数get_the_term_list
returns HTML 但是你需要得到一个数组或对象来检查你的语句。您需要改用 get_the_terms
函数。您的代码应如下所示:
global $post;
$talent_data = get_the_terms( $post->ID, 'talent_cat');
// check for errors or empty data
if ( is_wp_error( $talent_data ) || empty( $talent_data ) ) {
return;
}
foreach ( $talent_data as $term ) {
// you can check for name or slug or id
switch( $term->slug ) {
case 'modelos':
echo get_post_meta($post->ID, 'talent_id_1495127471815', true);
break;
}
}
我有一个名为 talent_cat
的分类法,它是所说 post 的类别,有 4 个值:modelos, atores, musica, djs
并且在每个个体 talent_cat
中有这些 post meta keys:
talent_id_1495127471815
对于 modelos
talent_id_1495127471816
对于 atores
talent_id_1495127471817
对于 musica
talent_id_1495127471818
对于 djs
我如何构建一个条件来根据所述 post 的 talent_cat
显示正确的 post meta
?因此,如果 post 属于 talent_cat = modelos
,则它 returns 属于 talent_id_1495127471815
而不是其他值。
我试过了,但没有成功:
$talent_data = get_the_term_list( $post->ID, 'talent_cat');
switch( $talent_data ) {
case 'modelos':
echo get_post_meta(get_the_ID(), 'talent_id_1495127471815', true);
break;
}
谢谢。
函数get_the_term_list
returns HTML 但是你需要得到一个数组或对象来检查你的语句。您需要改用 get_the_terms
函数。您的代码应如下所示:
global $post;
$talent_data = get_the_terms( $post->ID, 'talent_cat');
// check for errors or empty data
if ( is_wp_error( $talent_data ) || empty( $talent_data ) ) {
return;
}
foreach ( $talent_data as $term ) {
// you can check for name or slug or id
switch( $term->slug ) {
case 'modelos':
echo get_post_meta($post->ID, 'talent_id_1495127471815', true);
break;
}
}