OK - w końcu okazało się dość proste - ponieważ miałem pewien blok mentalny - menu_order
jest zmienną w $post
obiekcie (dzięki @brady za przypomnienie mi o tym).
Post @ scribu na temat tworzenia sortowalnych wartości kolumn następnie daje resztę.
Zakładając, że zostanie wywołany niestandardowy typ słupka header_text
, potrzebne są następujące funkcje i zaczepy:
Dodaj nową kolumnę dla zamówienia
/**
* add order column to admin listing screen for header text
*/
function add_new_header_text_column($header_text_columns) {
$header_text_columns['menu_order'] = "Order";
return $header_text_columns;
}
add_action('manage_edit-header_text_columns', 'add_new_header_text_column');
Renderuj wartości kolumn
/**
* show custom order column values
*/
function show_order_column($name){
global $post;
switch ($name) {
case 'menu_order':
$order = $post->menu_order;
echo $order;
break;
default:
break;
}
}
add_action('manage_header_text_posts_custom_column','show_order_column');
Ustaw kolumnę, aby była sortowalna
/**
* make column sortable
*/
function order_column_register_sortable($columns){
$columns['menu_order'] = 'menu_order';
return $columns;
}
add_filter('manage_edit-header_text_sortable_columns','order_column_register_sortable');
Minęło zbyt wiele czasu, ale dla samego rekordu możesz wyświetlić opcję „porządek menu” w panelu administratora, po prostu włączając „atrybuty strony” w tablicy opcji „obsługuje”. Na przykład:
źródło
Musisz zarejestrować swój CPT w:
źródło