在Wordpress中,有没有办法让自定义列按显示值排序而不是meta_value?我的意思是说,我的元值是一个数字,但我已经使用一个现有的钩子操纵了这个数字,因为它是一个字符串。我想按字符串排序而不是数字。这是我现有的,工作代码,会就好了排序它 - 它只是将不会按字母顺序排列:WordPress的如何添加管理自定义列按显示值排序
add_action('manage_resource_posts_custom_column', 'my_manage_resource_columns', 10, 2);
function my_manage_resource_columns($column_name, $id) {
switch ($column_name) {
case 'type':
$id = get_the_ID();
$par = get_field('resource_type',$id);
$type = get_field('singular_name',$par);
echo $type;
break;
default:
break;
}
}
add_filter("manage_edit-resource_sortable_columns", "my_last_modified_column_register_sortable");
function my_last_modified_column_register_sortable($columns) {
$columns["type"] = "type";
return $columns;
}
add_filter("request", "sort_column_by_modified");
function sort_column_by_modified($vars){
if (isset($vars["orderby"]) && "type" == $vars["orderby"] && $_GET['post_type']=='resource') {
$vars = array_merge($vars, array(
'meta_key' => 'resource_type',
'orderby' => 'meta_value_num'
));
}
return $vars;
}
所以你可以看到我添加了实际文本基于数值列名在数据库中。它显示正常。我只需要它可以通过该文本进行排序,而不是它所代表的值。有谁知道这是可能的/如何做到这一点?
以下是现在列的截图。你可以看到,他们确实按类型分组,但其提前与ID
感谢的数字顺序!