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


33

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

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

Ответы:


48

ОК - в конце концов, все оказалось довольно просто - поскольку у меня был какой-то ментальный блок - 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');

В WP 3.1 manage_edit - $ {post_type} _columns был заменен управляющим _ $ {post_type} _posts_columns: codex
ptriek

Неужели просто нет способа сделать это по умолчанию? Нравится страницы?
Howdy_McGee

7

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

    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
    )
);

2
Человек, отправляющий вопрос, уже знает о «атрибутах страницы». Он не должен показывать значение порядка страниц в необходимом порядке.
s_ha_dum

У меня есть атрибуты страницы в опорах для пользовательского типа сообщения, который добавляет порядок меню на боковую панель при редактировании одного из этих пользовательских типов сообщений, но при просмотре списка всех элементов в пользовательском типе сообщений в wp admin это не так показать столбец порядка меню. Есть ли что-то еще, чтобы показать это? Под опциями экрана для столбцов дата является единственной опцией, и это проверено.
cchiera

-3

Вы должны зарегистрировать свой CPT с:

'hierachical' => true

Разве это не позволяет просто указать родительский элемент для элемента на экране редактирования - я пробовал это, и это не имеет никакого значения для экрана списка
anu

1
извините, не понял, что вы хотите добавить пользовательские столбцы в список ... может быть, это дает вам точку для начала: shibashake.com/wordpress-theme/add-custom-post-type-columns
ungestaltbar
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.