Tùy biến các nút của TinyMCE trong WordPress

WordPress sử dụng TinyMCE cho phần soạn thảo bài viết. Trong các nút có sẵn của TinyMCE mà WordPress dùng làm mặc định, có 1 số nút rất ít khi được dùng đến (VD với người Việt thì có nút kiểm tra chính tả, nút chèn các kí tự đặc biệt, Full Screen, Help), còn 1 số nút thì lại bị bỏ đi (VD như nút chèn hình ảnh đã được thay thế bằng chức năng chèn qua Flash), 1 số nút cần thiết thì không được thêm vào (như nút chọn Font chữ, kích cỡ chữ), ... Vì thế nên nảy sinh nhu cầu tùy biến các nút của TinyMCE cho phù hợp với nhu cầu của mình.

Để tùy biến các nút của TinyMCE, cần tham khảo qua danh sách các nút mặc định của nó. Ở đây bạn có thể lựa chọn nút nào cần bỏ, nút nào cần thêm (chỉ cần nhớ tên của nó là được).

Để áp dụng sự thay đổi đó vào WordPress, chúng ta cần làm 1 plugin nhỏ theo mẫu sau:

function rwct_addbuttons() {
 if (!current_user_can('edit_posts') && !current_user_can('edit_pages'))
  return;
 add_filter('mce_buttons', 'register_rwct_button');
}

function register_rwct_button($buttons) {
 // Tùy biến các nút tại đây
 return $buttons;
}

add_action('init', 'rwct_addbuttons');

Code cũng khá rõ ràng, khi khởi động plugin, nó sẽ gọi hàm rwct_addbuttons, hàm này sẽ chèn thêm 1 filter vào mce_buttons, vốn dùng để tùy biến các nút của TinyMCE. Phần tùy biến này chứa trong hàm register_rwct_button.

Trong hàm register_rwct_button chúng ta cần chú ý tới biến được truyền vào $buttons. Nó chứa 1 mảng 1 chiều lưu giữ các tên của các nút (xem danh sách các nút của TinyMCE ở trên). Để biết các nút mặc định của WordPress dùng, bạn có thể thử dùng hàm print_r($buttons) để xem nội dung của nó. Còn để tùy biến các nút, bạn chỉ cần đơn giản khai báo lại nó là được, VD như tôi làm như sau:

$buttons = array('fontsizeselect', 'bold', 'italic', 'underline', '|', 'undo', 'redo', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|', 'bullist', 'numlist', 'outdent', 'indent', '|', 'link', 'unlink', 'image', '|', 'forecolor', 'backcolor', '|', 'removeformat', 'wp_more');

Bạn hãy tùy biến các nút cho phù hợp với nhu cầu của mình, sau đó upload file plugin này lên thư mục wp-contents/plugins và Active nó để dùng. Hiệu quả thể hiện rõ ngay ở khung soạn bài mới như hình dưới:


Toàn bộ code ở trên các bạn có thể download theo plugin tôi làm mẫu sẵn. Chúc các bạn blogging vui vẻ!