Các loại bài đăng tùy chỉnh: Cách thoát khỏi trình chỉnh sửa (hộp -meta)


9

Tôi đang đặt câu hỏi làm thế nào tôi có thể thoát khỏi trình chỉnh sửa bài (visual + html). Tôi đã cố gắng không đăng ký hỗ trợ loại bài đăng và nó vẫn xuất hiện (đăng ký hủy hoạt động tốt với mọi hộp meta mặc định khác trên màn hình chỉnh sửa bài đăng). Tôi cũng đã cố gắng hủy đăng ký nó với remove_meta_box, nó cũng không hoạt động (hoạt động cho mọi thứ khác ngoại trừ hộp meta tiêu đề). Có lẽ tôi đang thiếu một cái gì đó. Đã tìm kiếm trên web và không thể tìm thấy bất cứ điều gì. Tôi hy vọng ai đó có thể nói với tôi. Cảm ơn!

Thi thiên Tôi cũng sẽ rất vui về một cách giải quyết cho việc vô hiệu hóa trường tiêu đề, nhưng đó là lần thứ 2 (không đăng ký nó với loại bài đăng hoạt động).

(Phiên bản Wordpress là 3.0.4.)

Câu trả lời:


16

Đưa ra một mảng trống cho 'hỗ trợ' trong khai báo loại bài đăng sẽ loại bỏ trình chỉnh sửa và tiêu đề, cùng với mọi hộp mặc định khác trong trang chỉnh sửa bài đăng.

$supports = array ('');
    $args = array(
      'label' => 'people',
      'supports' => $supports,
      'hierarchical' => false,
      'public' => true,
      'rewrite' => true
         );

    register_post_type( 'people', $args);

Kết quả: văn bản thay thế Dân số 'hỗ trợ' với bất kỳ yếu tố nào bạn muốn hiển thị, chẳng hạn như trackback, bình luận, v.v. Hoặc chỉ để trống để trang trống, ngoại trừ hộp cho phép bạn lưu bài đăng của mình. Hãy chắc chắn truy cập vào đây nếu bạn muốn thoát khỏi metaboxes phân loại phân cấp là tốt.


Cảm ơn cho đến nay. Vấn đề của tôi là tôi không thể đặt mọi thứ trống rỗng. Tôi đã viết ba lớp để tăng tốc độ tạo các loại bài tùy chỉnh, phân loại & thẻ tùy chỉnh. Họ đã mặc định. Trong trường hợp các loại bài tùy chỉnh, nó chỉ đơn giản là tất cả mọi thứ. Nhưng tôi cần hủy đăng ký một số hộp cho các loại bài cụ thể. Và với một cái tôi cũng cần hủy đăng ký hộp soạn thảo.
kaiser

Tôi quan tâm đến ý của bạn là gì khi đặt mọi thứ trống rỗng? Nếu bạn muốn loại bỏ trình soạn thảo, chỉ cần không đưa vào; trình soạn thảo 'vào mảng' hỗ trợ 'khi bạn tạo loại bài đăng trong lớp.
Manny Fleurmond

2
@kaiser nếu đó là lớp học của riêng bạn thì vấn đề là gì? Làm cho họ xử lý nó? ..
Hiếm

@Rarst: Đây chỉ là một cơ sở tạo ra những điều sau đây: đăng ký loại bài đăng và phân loại từ một mảng và cung cấp bộ lọc cho $ nhãn và $ args (mặc định và cụ thể). Lớp thuật ngữ chỉ tạo ra các thuật ngữ không thể xóa được cập nhật và sắp xếp từ một mảng. Hộp meta có thể dễ dàng mà không cần lớp và sẽ không có ý nghĩa đối với tôi để tích hợp. Các lớp chỉ ở đó để tiết kiệm thời gian của tôi và giữ khách hàng khỏi việc xóa các điều khoản mà hệ thống cần. Nhưng cảm ơn đã tìm kiếm. Sự giúp đỡ của bạn được đánh giá cao (một lần nữa) :)
kaiser

2
@kaiser thì vấn đề với việc thiết lập supportsmảng trống qua bộ lọc là gì?
Rarst

15

Nếu bạn không chuyển gì cho supportsđối số, cài đặt mặc định 'title', 'editor'sẽ được sử dụng (trong đó "không có gì" là bất cứ thứ gì empty()).

Tuy nhiên, giống như bạn có thể thêm hỗ trợ cho nội dung nào đó sau khi đăng ký loại bài đăng add_post_type_support( $post_type, $feature ), bạn có thể xóa hỗ trợ cho nội dung nào đó bằng cách gọi remove_post_type_support( $post_type, $feature ). Vì vậy, việc gọi này sau khi đăng ký loại bài đăng của bạn nên xóa trình chỉnh sửa:

remove_post_type_support( 'my_post_type', 'editor' );

Các hàm này chỉ thao tác với $_wp_post_type_featuresbiến toàn cục, nhưng làm điều này với các hàm API luôn tốt hơn là tự mình sử dụng nó.


SOLLMENT! Tôi luôn nghĩ rằng đây chỉ là để loại bỏ ex. hình thu nhỏ hoặc nav_menu thông qua một chủ đề con. Cảm ơn rất nhiều!
kaiser

1
Ouch, tôi đã bỏ lỡ điều đó. Điểm hay, chuyển mảng trống sẽ đánh giá thành trống ... Truyền các giá trị trống luôn là một mớ hỗn độn, nó phản trực giác nên được coi như mặc định thay vì không có gì . :(
Rarst

1
@Rarst: Tôi nghĩ rằng nó cũng sẽ hoạt động nếu bạn thông qua một tên tính năng giả. Nó chỉ là một khóa mảng, vì vậy sẽ không có vấn đề gì nếu dữ liệu giả được chèn vào. Tôi đã từng sử dụng 0.1thay vì 0cho một tham số để vượt qua empty()kiểm tra.
Jan Fabry

1
@Jan Fabry yep, đây không phải là lần đầu tiên tôi bước chân vào empty()tôi. Như trên - rất phản trực quan.
Hiếm

Hừm. Nó không hoạt động với khóa và do đó tôi nghĩ rằng "giá trị giả" có thể trở thành "của tôi" khi nâng cấp sau này (cố gắng tìm giá trị xấu). Dù sao: cảm ơn cả hai bạn! :) Chỉnh sửa: sẽ hữu ích nếu các giá trị sẽ không ở đó, nhưng là các cặp khóa / giá trị. Ví dụ. 'support' => array('thumbnail' => true, 'editor' => false);
kaiser

2

Tôi sử dụng plugin UI Loại bài tùy chỉnh để tạo các loại bài tùy chỉnh. Sử dụng plugin này, bạn có thể vô hiệu hóa trình chỉnh sửa bài theo các tùy chọn nâng cao.

Quản lý loại bài đăng -> Xem tùy chọn nâng cao

Đây là một liên kết đến plugin: http://wordpress.org/extend/plugins/custom-post-type-ui/

PS - Nó cũng cho phép bạn vô hiệu hóa trường tiêu đề :)


Như đã nói ở trên, tôi đã viết ba lớp và do đó không thể chuyển sang plugin. Tôi có nghĩa là tôi thậm chí sẽ không xem xét sử dụng một plugin. Các plugin là (imo) để phát triển hoặc các công cụ dễ dàng thay thế cho nhau như các dạng nhận xét và không phải là nội dung cốt lõi như các loại bài đăng hoặc phân loại. Dù sao cũng cảm ơn bạn!
kaiser

1
Trên thực tế, các plugin có thể tùy chỉnh khá nhiều thứ về Wordpress, bao gồm các loại bài đăng tùy chỉnh. Tôi đang tạo một plugin ngay bây giờ để tạo ra nhiều loại bài đăng, metaboxes và các trường tùy chỉnh khác nhau của họ.
Manny Fleurmond

@Manny Fleurmond: Nếu bạn định chia sẻ, vui lòng gửi cho tôi một liên kết. Tôi vẫn đang suy nghĩ về việc có thể - có thể viết một thói quen cho các hộp meta nâng cao trong các lớp học của mình.
kaiser

0

Kiểm tra register_post_type (); trong bộ luật Trong phần Đối số , cuộn xuống cho đến khi bạn thấy Hỗ trợ .

Kể từ 3.5, boolean falsecó thể được truyền dưới dạng giá trị thay vì một mảng để ngăn chặn hành vi mặc định (tiêu đề và trình soạn thảo).

Hoặc tùy chỉnh loại bài đăng tùy chỉnh của bạn theo cách bạn muốn bằng cách thêm vào các giá trị bạn muốn, ví dụ:

'supports' => array(
    'title',
    'author',
    'thumbnail',
    'post-formats'
),

Các tùy chọn được hỗ trợ trong mảng của tôi sẽ xuất hiện trong phần phụ trợ wordpress của tôi.


-2

Bạn cũng có thể đặt kiểu cho trang chỉnh sửa của quản trị viên để ẩn các yếu tố chính, chẳng hạn như trình chỉnh sửa, v.v.

function custom_colors() {
   echo '<style type="text/css">
            body.post-type-events #postdivrich {
            display: none;
            }
         </style>';
}

add_action('admin_head', 'custom_colors');

Cảm ơn câu trả lời của bạn, nhưng điều này sẽ (a) làm cho nó không thể tháo rời vì nó không được đăng ký với API phụ thuộc và (b) làm cho nó có thể truy cập được đối với những người biết cách sử dụng các công cụ dành cho nhà phát triển trình duyệt.
kaiser
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.