การเพิ่มคอลัมน์ 'ลำดับเมนู' ลงในหน้าจอผู้ดูแลระบบประเภทโพสต์ที่กำหนดเอง


33

ฉันต้องการใช้แอmenu orderททริบิวเพื่อควบคุมการสั่งซื้อโพสต์แบบกำหนดเองที่จะใช้สำหรับวัตถุประสงค์เฉพาะ

เป็นเรื่องง่ายพอที่จะเพิ่มลงใน CPT ผ่านทางsupports => array('page-attributes')แต่ฉันจะเปิดเผยค่าลำดับเมนูบนหน้าจอรายชื่อผู้ดูแลระบบสำหรับ CPT นี้ได้อย่างไร

คำตอบ:


48

ตกลง - ในที่สุดก็กลายเป็นเรื่องง่าย - เพราะฉันมีบล็อกจิตบางอย่าง - menu_orderเป็นตัวแปรใน$postวัตถุ (ขอบคุณ @brady ที่เตือนฉันเกี่ยวกับเรื่องนี้)

โพสต์ของ @ scribu เกี่ยวกับการสร้างค่าคอลัมน์ที่เรียงได้แล้วให้ส่วนที่เหลือ

ดังนั้นสมมติว่ามีการเรียกประเภทโพสต์ที่กำหนดเองสิ่งheader_textเหล่านี้คือฟังก์ชั่นและ hooks ที่ต้องการ:

เพิ่มคอลัมน์ใหม่สำหรับการสั่งซื้อ

/**
* 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 ถูกแทนที่โดย Manage _ $ {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
บุคคลที่โพสต์คำถามทราบว่ามี 'page-attributes' อยู่แล้ว จะต้องไม่แสดงมูลค่าการสั่งซื้อหน้าเว็บในวิธีที่จำเป็น
s_ha_dum

ฉันมีคุณสมบัติหน้าในการสนับสนุนสำหรับประเภทโพสต์ที่กำหนดเองซึ่งจะเพิ่มลำดับเมนูไปที่แถบด้านข้างเมื่อแก้ไขหนึ่งในประเภทโพสต์ที่กำหนดเองเหล่านั้น แต่เมื่อดูรายการของรายการทั้งหมดในประเภทโพสต์ที่กำหนดเองในผู้ดูแลระบบ wp แสดงคอลัมน์ลำดับเมนู มีอะไรอีกบ้างที่จำเป็นในการแสดง ภายใต้ตัวเลือกหน้าจอสำหรับวันที่ของคอลัมน์เป็นตัวเลือกเดียวและตรวจสอบแล้ว
cchiera

-3

คุณต้องลงทะเบียน CPT ของคุณด้วย:

'hierachical' => true

ไม่ว่าเพียงแค่ช่วยให้คุณระบุผู้ปกครองสำหรับสินค้าในหน้าจอแก้ไข - ฉันได้พยายามมันและมันก็ทำให้ความแตกต่างไปที่หน้าจอรายการไม่มี
anu

1
ขออภัยไม่ทราบว่าคุณต้องการเพิ่มคอลัมน์ที่กำหนดเองในรายการ ... นี่อาจเป็นจุดเริ่มต้น: shibashake.com/wordpress-theme/add-custom-post-type-columns
ungestaltbar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.