我试图将自定义分类法中的术语元值“公司”/“公司”输入到author.php
.
由于LH User Taxonomy 插件。我需要显示其所属公司的术语元字段。
So far, 我设法找到了wp_get_object_terms useful
. 此代码响应slug 和name 分类学术语的元;description 也可以。。。
$firm_terms = wp_get_object_terms( $curauth->ID, \'firm\' );
if ( ! empty( $firm_terms ) ) {
if ( ! is_wp_error( $firm_terms ) ) {
foreach( $firm_terms as $term ) {
echo \'<a href="\' . get_term_link( $term->slug, \'firm\' ) . \'">\' . esc_html( $term->name ) . \'</a>\';
}
}
}
它似乎起作用了。
然而,我只输出了这三个标准术语元字段——name、slug和description。此外,由于在编辑用户页面上放置了一个高级自定义字段字段组,存储了额外的“公司”详细信息,我还有几十个其他术语元字段。这些是用于输出的,但它们没有显示,使用的代码如下(片段):
foreach( $firm_terms as $term ) {
echo $term->firm_social_twitter_handle;
}
是的
wp_get_object_terms
仅为显示而构建
name,
slug 和
description? 有没有办法我也可以像
firm_social_twitter_handle 和
firm_geo_city?
我是否需要将其与get_terms
, 还是别的什么?早些时候,我发现使用get_terms
, 但无法将其限制为仅从用户所附加的分类术语中获取meta,就像我可以使用上面的wp_get_object_terms
密码
最合适的回答,由SO网友:dbeja 整理而成
如果这些额外字段保存在“编辑用户”页面上,则应使用get_user_meta 功能:
$social_twitter_handle = get_user_meta( $curauth->ID, \'firm_social_twitter_handle\', true );
如果这些额外字段附加到每个术语,则可以使用
get_term_meta 功能:
$firm_terms = wp_get_object_terms( $curauth->ID, \'firm\' );
if ( ! empty( $firm_terms ) ) {
if ( ! is_wp_error( $firm_terms ) ) {
foreach( $firm_terms as $term ) {
echo \'<a href="\' . get_term_link( $term->slug, \'firm\' ) . \'">\' . esc_html( $term->name ) . \'</a>\';
$firm_social_twitter_handle = get_term_meta( $term->term_id, \'firm_social_twitter_handle\', true );
echo $firm_social_twitter_handle;
}
}
}