我试图在单个自定义帖子类型上显示添加到自定义分类法的自定义字段值。我有一篇文章,文章类型是自定义分类法,名为issue。我使用了Tax-Meta-Class 将自定义字段“发布日期”添加到该分类中。对于每一期,我都添加了一个“发布日期”值。为了在每一篇相关的文章上显示子期的出版日期,我尝试使用以下代码:
$object_terms = wp_get_object_terms( $post->ID, \'issue\', array( \'fields\' => \'all\' ) );
if ( $object_terms ) {
foreach ( $object_terms as $term ) {
if ( $term->parent ) {
$t_id .= $term->term_id;
$res .= get_tax_meta($t_id,\'publication_date\');
}
}
echo $res;
}
但没有显示任何内容。我也试着使用
get_term_meta
而不是
get_tax_meta
但什么都没有。如果我添加
echo $t_id;
它显示术语ID,这意味着代码可以正确获取术语ID,但无法显示自定义字段值。有什么帮助吗?
SO网友:P-S
可能的解决方案:
检查是否有prefix 为自定义字段设置的(https://en.bainternet.info/tax-meta-class-faq/#comment-1107)
进入Tax-meta-class/Tax-meta-class.php 文件并找到要调用的函数,然后调试问题:
// Tax-meta-class.php
public function get_tax_meta($term_id,$key,$multi = false){
$t_id = (is_object($term_id))? $term_id->term_id: $term_id;
var_dump ($t_id); // debug this
$m = get_option( \'tax_meta_\'.$t_id);
var_dump ($m); // debug this
if (isset($m[$key])){
return $m[$key];
}else{
return \'\';
}
}
检查
wp_options 表并搜索
option_name 选项的列(参数
get_option(\'tax_meta_foo_bar\') 以上)。要么不在那里,要么你缺少的前缀
get_option 不返回值。