Добавление столбца «порядок меню» в пользовательский экран типа сообщения

Я хочу использовать атрибут menu order для управления порядком для настраиваемого типа сообщений, который будет использоваться для определенной цели.

Достаточно просто добавить это в CPT через supports => array('page-attributes'), но как я могу отобразить значение порядка меню на экране списка admin для этого CPT?

27 голосов | спросил anu 1 MaramThu, 01 Mar 2012 00:06:34 +04002012-03-01T00:06:34+04:0012 2012, 00:06:34

3 ответа


40

ОК - в итоге оказалось довольно простым - поскольку у меня был какой-то ментальный блок - menu_order - это переменная в объекте $post спасибо @brady за то, что напомнили мне об этом).

@ scribu сообщение о создании сортируемых значений столбца , затем дает остальное.

Итак, если тип пользовательского сообщения называется header_text, это необходимые и требуемые функции:

Добавить новый столбец для заказа

/**
* 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');

Отобразить значения столбцов

/**
* 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');

Установите столбец для сортировки

/**
* 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');
ответил anu 1 MarpmThu, 01 Mar 2012 23:24:55 +04002012-03-01T23:24:55+04:0011 2012, 23:24:55
5

Это слишком долго, но только для записи вы можете отобразить опцию «порядок меню» в админке, просто включив «атрибуты страницы» в массив опций поддержки. Например:

    register_post_type( 'columna',
    array(
        'labels' => array(
            'name' => __( 'Columnas' ),
            'singular_name' => __( 'Columna' ),
        ),
        'supports' => array( 'title', 'thumbnail', 'excerpt', 'page-attributes' ),
        'public' => true,
        'has_archive' => false,
        'menu_position'=>5
    )
);
ответил Juan Salas 24 62012vEurope/Moscow11bEurope/MoscowSat, 24 Nov 2012 02:25:40 +0400 2012, 02:25:40
-3

Вам необходимо зарегистрировать свой CPT с помощью:

'hierachical' => true
ответил ungestaltbar 1 MaramThu, 01 Mar 2012 00:22:26 +04002012-03-01T00:22:26+04:0012 2012, 00:22:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132