OK, al final resultó ser bastante simple, ya que había tenido algún tipo de bloqueo mental, menu_order
es una variable en el $post
objeto (gracias a @brady por recordarme eso).
La publicación de @ scribu sobre la creación de valores de columna ordenables luego da el resto.
Entonces, suponiendo que se llame al tipo de publicación personalizada header_text
, estas son las funciones y los ganchos que se necesitan:
Agregar una nueva columna para el pedido
/**
* 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');
Renderizar los valores de columna
/**
* 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');
Establecer la columna para que se pueda ordenar
/**
* 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');
Ha pasado demasiado tiempo, pero solo para el registro, puede mostrar la opción 'orden de menú' en el administrador, simplemente al incluir 'atributos de página' en la matriz de opciones 'soporta'. Por ejemplo:
fuente
Debe registrar su CPT con:
fuente