我正在构建一个网站,我想在其中显示从自定义字段中选择的标记(主要来自单选按钮)。我已经设置了cmb2,如下面的代码..
add_action('cmb2_admin_init', 'custom_metaboxes');
function custom_metaboxes() {
$metabox = new_cmb2_box( array(
'object_types' => array( 'post'), //for the post
'title' => 'Additional Fields',
'id' => 'additional'
)
);
// showing in the admin panel
$metabox -> add_field( array(
'name' => 'Taxonomy List',
'desc' => 'This get the list of taxonomy',
'id' => 'taxonomy_list',
'type' => 'taxonomy_radio',
'taxonomy' => 'post_tag',
'default' => 'ami'
)
);
}
好的,这是在post部分。我的标签显示在单选按钮中,即可正常工作。但是当我尝试使用
在前端显示所选标签时echo get_post_meta( get_the_id(), 'taxonomy_list', true )// returns nothing
什么都没有回应。然后尝试var_dump
函数返回string(0) ""
。有什么问题在幕后工作。
任何人都可以找出问题所在。
答案 0 :(得分:1)
使用cmb2-2.0.2版本可以解决问题。这是代码:
<?php
add_action( 'cmb2_init', 'yourprefix_register_demo_metabox' );
function yourprefix_register_demo_metabox() {
$prefix = '_yourprefix_demo_';
$cmb_demo = new_cmb2_box( array(
'id' => $prefix . 'additional',
'title' => 'Additional Fields',
'object_types' => array('page')
) );
$cmb_demo->add_field( array(
'name' => 'Taxonomy List',
'desc' => 'This get the list of taxonomy',
'id' => $prefix . 'taxonomy_list',
'type' => 'taxonomy_radio',
'taxonomy' => 'post_tag'
) );
}
?>
&#13;
在前端你需要写:
<?php
$prefix = '_yourprefix_demo_';
echo get_tag(get_post_meta(get_the_ID(), $prefix.'taxonomy_list', true)[0])->name;
?>
&#13;