根据帖子ID获取自定义帖子类型的分类

时间:2017-01-24 20:08:20

标签: php wordpress custom-post-type shortcode

我正在尝试在我的自定义帖子类型cota的管理员表格列表中添加一个列,这是当前的分类tipo,但它不打印它。

这是当前的代码:

function la_set_cota_columns($columns){

   $newColumns = array();
   $newColumns['title'] = 'Título da Cota';
   $newColumns['comissao'] = 'Comissão';
   $newColumns['proprietario'] = 'Proprietário';
   $newColumns['vencimento'] = 'Vencimento';
   $newColumns['tipo'] = 'Tipo de Cota';

   return $newColumns;
}
add_filter('manage_cota_posts_columns', 'la_set_cota_columns');


function la_cota_custom_column($column, $post_id){
   $content = get_post_meta($post_id);

   switch( $column ){

       case 'comissao' :
         echo $content['comissao'][0];
       break;

       case 'proprietario' :
         echo $content['proprietario'][0];
       break;

       case 'vencimento' :
         echo $content['vencimento'][0];
       break;

       case 'tipo':
         echo get_metadata('cota', $post_id, 'tipo', $single = true);
       break;
   }

}
add_action('manage_cota_posts_custom_column', 'la_cota_custom_column', 10, 2);

可以找到实际结果here

提前多多感谢。

1 个答案:

答案 0 :(得分:1)

因此,您希望打印与表格中列出的当前帖子相关联的字词...因此,您需要使用wp_get_post_terms函数:

$term_names = wp_get_post_terms($post_id, 'tipo', array('fields' => 'names')); // returns an array of term names
echo implode(', ', $term_names);

Ans只是关于您使用的函数调用的一个小注释:最后一个参数是可选的,这意味着您可以传递或者根本不传递任何内容。如果省略它,它将具有默认值 false 。但是在进行函数调用时没有传递默认值:

get_metadata('cota', $post_id, 'tipo', true);

希望这有帮助!