Додавання стовпця "Порядок меню" до екрана адміністратора спеціального типу публікації


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: старовинний рукопис
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.