Có thể xóa WYSIWYG cho một Loại bài tùy chỉnh nhất định không?


18

Tôi không muốn sử dụng WYSIWYG ở đầu Loại bài tùy chỉnh của mình. Tôi muốn sử dụng một textarea trường tùy chỉnh mà tôi có thể đặt ở dưới cùng của danh sách các trường tùy chỉnh của tôi để thay thế.

Điều này có thể không?

Câu trả lời:


20
add_action('init', 'init_remove_support',100);
function init_remove_support(){
    $post_type = 'your post type';
    remove_post_type_support( $post_type, 'editor');
}

đặt nó vào chức năng chủ đề của bạn.php


1
Lưu ý: Tôi khuyên bạn nên gọi remove_post_type_support()bên trong cùng một cuộc gọi lại mà bạn gọi register_post_type(), để đảm bảo thứ tự thực hiện đúng.
Chip Bennett

Tôi không thấy register_post_type () trong hàm.php. Tôi đang sử dụng UI Kiểu tùy chỉnh kết hợp với AdvancedCustomFields.
scottgemmell

Rằng bạn đang sử dụng Plugin UI Loại bài đăng tùy chỉnh là một chi tiết khá quan trọng đối với câu hỏi của bạn. :) Plugin hiển thị supportstham số trong giao diện người dùng của nó. Hãy tham khảo những ảnh chụp màn hình này .
Chip Bennett

14

Bạn thực sự có thể vô hiệu hóa trình soạn thảo WYSIWYG, chỉ để lại trình chỉnh sửa nguồn html. Chọn một chức năng dưới đây:

// disable wyswyg for custom post type, using the global $post
add_filter('user_can_richedit', function( $default ){
  global $post;
  if( $post->post_type === 'product')  return false;
  return $default;
});

// disable wyswyg for custom post type, using get_post_type() function
add_filter('user_can_richedit', function( $default ){
  if( get_post_type() === 'product')  return false;
  return $default;
});

Có cách nào để chỉ loại bỏ WYSIWYG khỏi đoạn trích không? Chủ đề của tôi đã được bật và tôi nghi ngờ về một số mã của họ, tôi không chắc mình có thể xóa nó không. Tôi đã hỏi đây là một câu hỏi mới ở đây: wordpress.stackexchange.com/questions/300877/iêu
Jason

Xin chào, thành thật mà nói, tôi không biết, kiến ​​thức WP của tôi hơi thô lỗ, xin lỗi. Điều duy nhất tôi có thể đề xuất là đào sâu vào mã nguồn WP, tìm thứ gì đó có liên quan, sau đó là duckduckgo / google nó để làm tài liệu / ví dụ.
SE bị nguyền rủa vì Monicagate.

9

Ngoài ra, bạn có thể xử lý hỗ trợ hậu biên trực tiếp trong register_post_type()cuộc gọi của mình , thông qua 'supports'tham số trong $argsmảng.

Giá trị mặc định là : 'supports' => array( 'title', 'editor' ).

Bạn có thể thay đổi nó thành bất cứ điều gì bạn cần; ví dụ : 'supports' => array( 'title' ).


6

Re: bình luận này:

Tôi đang sử dụng UI Kiểu tùy chỉnh kết hợp với AdvancedCustomFields.

Các Tuỳ chỉnh bài viết các loại giao diện người dùng Plugin cho thấy tất cả các register_post_type() $argsthông số mảng trong giao diện của nó.

Trong trường hợp này, bạn chỉ cần tìm phần Hỗ trợ và tắt / bỏ chọn Trình chỉnh sửa :

Plugin tùy chỉnh loại bài đăng UI - Đăng ký tùy chọn loại bài


Mặc dù câu trả lời khác được đặt là câu trả lời được chọn, đây là câu trả lời đúng. Không cần phải chạy bộ lọc để loại bỏ thứ gì đó mà bạn chỉ có thể loại trừ khi khai báo CPT để bắt đầu.
butlerblog

-1

Một cách khác phù hợp hơn để vô hiệu hóa trình soạn thảo WYSIWYG, chỉ để lại trình chỉnh sửa nguồn html - là không cho phép tinymce sử dụng bộ lọc "wp_editor_sinstall" cho loại bài đăng tùy chỉnh của bạn.

function my_post_type_editor_settings( $settings ) {

    global $post_type;

    if ( $post_type == 'my_post_type' ) {

        $settings[ 'tinymce' ] = false;
    }

    return $settings;
}

add_filter( 'wp_editor_settings', 'my_post_type_editor_settings' );

Vui lòng chỉnh sửa câu trả lời của bạn và thêm một lời giải thích: tại sao điều đó có thể giải quyết vấn đề?
fuxia
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.