在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
感謝的數字順序!