taxonomy_radio在cmb2的前端没有显示任何内容

时间:2016-06-21 09:40:04

标签: php wordpress custom-taxonomy

我正在构建一个网站,我想在其中显示从自定义字段中选择的标记(主要来自单选按钮)。我已经设置了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) ""。有什么问题在幕后工作。

任何人都可以找出问题所在。

1 个答案:

答案 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;
&#13;
&#13;

在前端你需要写:

&#13;
&#13;
<?php

$prefix = '_yourprefix_demo_';
echo get_tag(get_post_meta(get_the_ID(), $prefix.'taxonomy_list', true)[0])->name;
?>
&#13;
&#13;
&#13;