Özel yazı tipi yönetici ekranına 'menü sırası' sütunu ekleme


33

menu orderBelirli bir amaç için kullanılacak olan özel bir gönderi türü için siparişi kontrol etme özelliğini kullanmak istiyorum .

Bunu CPT’ye üzerinden eklemek çok kolaydır, supports => array('page-attributes')ancak bu CPT’nin yönetici listesi ekranında menü sipariş değerini nasıl gösterebilirim?

Yanıtlar:


48

Tamam - sonuçta oldukça basit olduğu ortaya çıktı - bir tür zihinsel engel vardı - nesnede menu_orderbir değişken $post(bana bunu hatırlattığım için @ brady sayesinde).

@ scribu'nun sıralanabilir sütun değerleri oluşturma konusundaki gönderisi geri kalanını verir.

Dolayısıyla, özel yazı tipinin çağrıldığını varsayarsak header_text, bunlar gereken işlevler ve kancalardır:

Sipariş için yeni bir sütun ekleyin

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

Sütun değerlerini işle

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

Sütunu sıralanabilir olacak şekilde ayarla

/**
* 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'de, manage_edit - $ {post_type} _columns, _ $ {post_type} _posts_columns: tarafından yönetildi: codex
ptriek

Bunu gerçekten varsayılan sıralama yapmanın bir yolu yok mu? Sayfaları beğen?
Howdy_McGee

7

Çok uzun sürdü, ancak sadece kayıt için, 'destekler' seçenek dizisine 'sayfa öznitelikleri' ekleyerek yöneticideki 'menü sırası' seçeneğini görüntüleyebilirsiniz. Örneğin:

    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
Soruyu gönderen kişi zaten 'sayfa özniteliklerinden' haberdardır. Sayfa sırası değerini gereken şekilde göstermemelidir.
s_ha_dum

Bu özel yazı türlerinden birini düzenlerken kenar çubuğuna menü sırası ekleyen özel yazı türünün desteklerinde sayfa özniteliklerine sahibim, ancak özel yazı türündeki tüm öğelerin listesini wp admin'de görüntülerken menü sırası sütununu göster. Göstermesi için gereken başka bir şey var mı? Sütunlar tarihi için ekran seçenekleri altında tek seçenek ve kontrol edilir.
cchiera

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.