Dodanie kolumny „kolejność menu” do niestandardowego ekranu administratora typu posta


33

Chcę użyć tego menu orderatrybutu do kontrolowania zamawiania niestandardowego typu postu, który będzie używany do określonego celu.

Dodanie tego do CPT jest dość łatwe, supports => array('page-attributes')ale jak mogę wyświetlić wartość zamówienia w menu na ekranie z listą administracyjną dla tego CPT?

Odpowiedzi:


48

OK - w końcu okazało się dość proste - ponieważ miałem pewien blok mentalny - menu_orderjest zmienną w $postobiekcie (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');

W WP 3.1, manage_edit - $ {post_type} _columns zostało zastąpione przez manage _ $ {post_type} _posts_columns: codex
ptriek

Czy naprawdę nie ma sposobu, aby ustawić to jako domyślne? Lubić strony?
Howdy_McGee

7

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:

    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
Osoba zamieszczająca pytanie zna już „atrybuty strony”. Nie może pokazywać wartości kolejności stron w wymagany sposób.
s_ha_dum

Mam atrybuty strony w obsłudze niestandardowego typu postu, który dodaje kolejność menu do paska bocznego podczas edycji jednego z tych niestandardowych typów postów, ale podczas przeglądania listy wszystkich elementów w niestandardowym typie postów w wp admin nie robi pokaż kolumnę kolejności menu. Czy jest coś jeszcze, żeby to pokazać? Pod opcjami ekranu dla kolumn data jest jedyną opcją i jest sprawdzana.
cchiera

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.