Làm cách nào để định cấu hình Wordpress để có thể sử dụng thẻ <script> trong bài viết?


8

Tôi đang tìm kiếm một giải pháp cho phép tôi viết các thẻ bên trong bài viết và chắc chắn rằng trình soạn thảo trực quan hoặc wordpress sẽ không làm thay đổi chúng.

Vấn đề tương tự có thể áp dụng cho mã HTML cụ thể khác mà tôi có thể muốn sử dụng.

Vô hiệu hóa trình soạn thảo trực quan không phải là một tùy chọn, bởi vì sẽ khiến hầu hết các thao tác chỉnh sửa quá khó sử dụng.

Câu trả lời:


6

Thêm phần sau vào chức năng chủ đề của bạn.php:

function fb_change_mce_options($initArray) {
    $ext = 'script[charset|defer|language|src|type]';

    if ( isset( $initArray['extended_valid_elements'] ) ) {
        $initArray['extended_valid_elements'] .= ',' . $ext;
    } else {
        $initArray['extended_valid_elements'] = $ext;
    }

    return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

3

Tôi đã thử câu trả lời được chấp nhận ở trên và nó không hoạt động với tôi trên WordPress 3.5.1

Tôi đã xem bên trong wp-gồm / koses.php và nó nói sẽ sử dụng bộ lọc 'wp_kses_allowed_html'. Điều này đã kết thúc làm việc cho tôi. Bạn có thể thay thế các thuộc tính chiều cao và chiều rộng bằng bất kỳ thuộc tính thẻ tập lệnh nào khác, chẳng hạn như loại, ngôn ngữ, v.v. tùy thuộc vào thẻ bạn đang cố gắng chèn.

function allow_script_tags( $allowedposttags ){
  $allowedposttags['script'] = array(
      'src' => true,
      'height' => true,
      'width' => true,
    );
  return $allowedposttags;
}

add_filter('wp_kses_allowed_html','allow_script_tags', 1);
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.