Thêm cột 'thứ tự menu' vào màn hình quản trị loại bài đăng tùy chỉnh


33

Tôi muốn sử dụng menu orderthuộc tính để kiểm soát thứ tự cho loại bài đăng tùy chỉnh sẽ được sử dụng cho mục đích cụ thể.

Thật dễ dàng để thêm phần này vào CPT thông qua supports => array('page-attributes')nhưng làm cách nào để hiển thị giá trị đơn hàng trên màn hình danh sách quản trị viên cho CPT này?

Câu trả lời:


48

OK - cuối cùng hóa ra khá đơn giản - vì tôi đã có một loại khối tinh thần - menu_orderlà một biến trong $postđối tượng (cảm ơn @brady vì đã nhắc nhở tôi về điều đó).

@ scribu's post về việc tạo các giá trị cột có thể sắp xếp sau đó cung cấp phần còn lại.

Vì vậy, giả sử loại bài đăng tùy chỉnh được gọi header_text, đây là các hàm và móc cần thiết:

Thêm một cột mới cho đơn đặt hàng

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

Kết xuất các giá trị cột

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

Đặt cột thành có thể sắp xếp

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

Trong WP 3.1, Manage_edit - $ {post_type} _columns đã được thay thế bởi quản lý _ $ {post_type} _posts_columns: codex
ptriek

Có thực sự không có cách nào để làm cho điều này theo thứ tự mặc định? Thích trang?
Howdy_McGee

7

Đã quá lâu, nhưng chỉ với bản ghi, bạn có thể hiển thị tùy chọn 'thứ tự menu' trong quản trị viên, chỉ bằng cách bao gồm 'thuộc tính trang' trong mảng tùy chọn 'hỗ trợ'. Ví dụ:

    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
Người đăng câu hỏi đã biết về 'thuộc tính trang'. Nó không được hiển thị giá trị thứ tự trang theo cách cần thiết.
s_ha_dum

Tôi có các thuộc tính trang trong các hỗ trợ cho loại bài đăng tùy chỉnh, có thêm thứ tự menu vào thanh bên khi chỉnh sửa một trong các loại bài đăng tùy chỉnh đó, nhưng khi xem danh sách tất cả các mục trong loại bài đăng tùy chỉnh trong quản trị viên wp thì không hiển thị cột thứ tự menu. Có cái gì khác cần thiết để làm cho nó hiển thị? Trong tùy chọn màn hình cho ngày cột là tùy chọn duy nhất và được chọn.
cchiera

-3

Bạn phải đăng ký CPT với:

'hierachical' => true

Không phải điều đó chỉ cho phép bạn chỉ định cha mẹ cho mục trong màn hình chỉnh sửa - tôi đã thử nó và nó không có gì khác biệt với màn hình danh sách
anu

1
xin lỗi, không nhận ra bạn muốn thêm các cột tùy chỉnh vào danh sách ... có thể điều này mang lại cho bạn một điểm để bắt đầu: shibashake.com/wordpress-theme/add-custom-post-type-columns
ungestaltbar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.