【问题标题】:Get taxonomy of custom post type based on post ID根据帖子 ID 获取自定义帖子类型的分类
【发布时间】:2023-04-03 21:39:01
【问题描述】:

我正在尝试在我的自定义帖子类型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

非常感谢。

【问题讨论】:

    标签: php wordpress custom-post-type shortcode


    【解决方案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);
    

    关于您使用的函数调用的一点评论:最后一个参数是可选的,这意味着您可以传递一个 或什么都不传递。如果省略它,它将具有默认值 false。但是在进行函数调用时没有传递默认值:

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

    希望这会有所帮助!

    【讨论】:

    • 非常感谢!有效!关于get_metadata最后一个参数,我以为默认参数是假的!不过非常感谢。
    • 太棒了 - 但你实际上是关于默认值。我将您的代码作为抄本中函数调用的复制粘贴。我已经调整了我的答案:默认情况下它确实是错误的 - 对此感到抱歉。
    • 嗯,不错!是的,WP Codex 帮了我很多,因为我不是 Wordpress 专家,呵呵。不过非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多