Menambahkan kolom 'urutan menu' ke layar admin jenis pos kustom


33

Saya ingin menggunakan menu orderatribut untuk mengontrol pemesanan untuk jenis posting khusus yang akan digunakan untuk tujuan tertentu.

Cukup mudah untuk menambahkan ini ke CPT via supports => array('page-attributes')tetapi bagaimana cara mengekspos nilai urutan menu pada layar daftar admin untuk CPT ini?

Jawaban:


48

OK - pada akhirnya ternyata cukup sederhana - karena saya punya semacam gangguan mental - menu_order adalah variabel dalam $postobjek (terima kasih kepada @brady untuk mengingatkan saya tentang itu).

@ scribu tentang membuat nilai kolom yang dapat diurutkan kemudian memberikan sisanya.

Jadi, dengan asumsi jenis posting kustom disebut header_text , ini adalah fungsi dan kait yang diperlukan:

Tambahkan kolom baru untuk pesanan

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

Berikan nilai kolom

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

Atur kolom agar dapat diurutkan

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

Di WP 3.1, manage_edit - $ {post_type} _columns telah digantikan oleh manage _ $ {post_type} _posts_columns: codex
ptriek

Apakah benar-benar tidak ada cara untuk menjadikan ini pemesanan default? Suka Halaman?
Howdy_McGee

7

Sudah terlalu lama, tetapi hanya untuk catatan, Anda dapat menampilkan opsi 'urutan menu' di admin, hanya dengan memasukkan 'atribut halaman' dalam array opsi 'mendukung'. Sebagai contoh:

    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
Orang yang memposting pertanyaan sudah mengetahui 'atribut halaman'. Itu tidak harus menunjukkan nilai urutan halaman dengan cara yang diperlukan.
s_ha_dum

Saya memiliki atribut halaman di dukungan untuk jenis posting kustom, yang menambahkan urutan menu ke sidebar ketika mengedit salah satu dari jenis posting kustom, tetapi ketika melihat daftar semua item dalam jenis posting kustom di admin wp tidak tampilkan kolom urutan menu. Apakah ada hal lain yang diperlukan untuk membuatnya ditampilkan? Opsi di bawah layar untuk tanggal kolom adalah satu-satunya pilihan dan yang dicentang.
cchiera

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.