通过ACF Pro选择字段对POST列进行自定义排序

时间:2020-05-14 作者:aronmoshe_m

我正在为自定义帖子类型向管理显示中添加一个自定义列。自定义列应显示ACF Pro选择字段中的选定选项。相反,它总是在包含值时触发,这对我来说意味着,它不是只为每个帖子提取选定的选项,而是为ACF Pro select字段提取所有可用的值。

我只是。。。不知道如何解决这个问题。我做错了什么?

add_action( \'manage_asgallery_posts_custom_column\', \'asgallery_new_column\', 10, 2);
function asgallery_new_column( $column_name, $post_id ) {
    if( $column_name == \'featured_posts\' ) {
        $a = get_field_object(\'field_5dbcb72cad947\', $post_id); 
        $a_value = $a[\'value\'];
        //$case_study = get_post_meta( $post_id, \'case_study_category\' );
        if(strpos($a_value, \'Repair\') !== false) {
            echo \'Repair\'; 
        }
        else { echo \'None\'; }
    }
}

2 个回复
SO网友:Mark

Try get_field() instead of get_field_object().

SO网友:Josh M

编辑以简化条件检查。

add_action( \'manage_asgallery_posts_custom_column\', \'asgallery_new_column\', 10, 2);
   function asgallery_new_column( $column_name, $post_id ) {
     if( $column_name == \'featured_posts\' ) {
     $a_value  = get_field(\'field_5dbcb72cad947\', $post_id); 
      if($a_value === \'Repair\') {
        echo \'Repair\'; 
       }
     else { echo \'None\'; }
}
}
您需要的是\\u字段本身,而不是\\u field\\u对象。