我使用CMB2 设置自定义字段,在许多情况下,逻辑与ACF没有太大区别。对于我的特定用例,我创建了一个非常简单但灵活的函数,以便对taxonomy 在显示之前custom field 价值
考虑到已经创建了一个名为my_cf
比如说taxonomy 已命名basic 根据您的示例,以下函数可能有助于回答您的问题,并可能会稍微扩展自定义字段的使用范围。
function get_taxonomy_terms_custom_fields( $taxonomy = \'\' ) {
global $post;
$terms = get_the_terms( $post->ID, $taxonomy );
// Check if we have a taxonomy and that it is valid. If not, return false
if ( !$taxonomy )
return false;
// Sanitize the taxonomy input
$taxonomy = filter_var( $taxonomy, FILTER_SANITIZE_STRING );
// keep playing safe
if ( !taxonomy_exists( $taxonomy ) )
return false;
foreach ( $terms as $term ) {
// Set a variable for taxonomy term_id
$tax_term_id = $term->term_id;
$my_field = get_term_meta( $tax_term_id, \'my_cf\', true );
// Make sure we do not have a WP_Error object, not really necessary, but better be safe
if ( is_wp_error( $term ) )
continue;
// escaping the returned value // esc_html(), esc_url(), esc_attr()
return esc_html($my_field);
}
}
简单使用
<?php get_taxonomy_terms_custom_fields (\'basic\'); ?>
更换
basic
使用您自己的分类名称。
功能get_taxonomy_terms_custom_fields ()
将通过分配给post、post\\U类型的所有类别检查指定的分类法和循环类型,然后返回自定义字段值(如果存在),如果没有,则避免出错。还可以对其进行扩展,以检查是否有生成数组()的字段,例如可重复的字段。
我希望有帮助-祝你好运!