ĐĂNG TIN
logo
Online:
Visits:
Stories:
Profile image
Tác giả: fcwordpress
Trang tin cá nhân | Bài đã đăng
Lượt xem

Hiện tại:
1h trước:
24h trước:
Tổng số:
Như thế nào để viết một plugin cho editor wordpress – TinyMCE
Friday, December 25, 2015 0:15
% of readers think this story is Fact. Add your two cents.


Hôm nay tôi sẽ chia sẽ với anh chị về chủ đề Như thế nào để viết một plugin cho editor wordpress – TinyMCE

Ứng dụng chủ đề này là tạo một button để insert short code vào editor, ở đây chúng ta viết trong theme. Chúng ta sẽ tạo một thư mục button-to-insert-short-code trong thư mục theme, tạo file có tên là button-to-insert-short-code.php và bỏ tất cả code php vào trong file này.
Sau đó chúng ta sẽ include vào file function

  • Thêm icon button vào editor wordpress – TinyMCE

B4INREMOTE-aHR0cDovL2Zjd29yZHByZXNzLm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8xMi90aGVtLWJ1dHRvbi12YW8tZWRpdG9yLXRpbnltY2UucG5n

Code sau sẽ làm việc đó:(thêm vào button-to-insert-short-code.php)

function fcwordpress_add_button_to_editor($buttons) { $buttons[] = "shortcode_button"; return $buttons; }
  • Đăng ký plugin với editor wordpress – TinyMCE

Plugin ở đây là tập hợp các mã js,css… để làm việc insert short code vào editor

function fcwordpress_register_tinymce_plugin($plugin_array) { $path = get_stylesheet_directory_uri().'/button-to-insert-short-code'; $plugin_array['shortcode_button'] = $path.'/short-code.js'; return $plugin_array; }
  • Móc vào wordpress

Chúng ta sẽ sử dụng hook action init để làm việc này

add_action('init', 'fcwordpress_shortcode_button_init'); function fcwordpress_shortcode_button_init() { //Kiểm tra quền user có được dùng tinymce if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') && get_user_option('rich_editing') == 'true') return; //Đăng ký plugin với tinymce add_filter("mce_external_plugins", "fcwordpress_register_tinymce_plugin"); //chúng ta có thể thêm vào dòng 1,2,3 ở đây là 3 add_filter('mce_buttons_3', 'fcwordpress_add_button_to_editor'); }
  • Viết plugin cho editor wordpress – TinyMCE

Tạo file js có tên là short-code.js và bỏ code sau vào

jQuery(document).ready(function($) { tinymce.create('tinymce.plugins.tlshortcode', { init : function(ed, url) { // Đăng ký lệnh khi click button ed.addCommand('tlshortcode_command', function() { selected = tinyMCE.activeEditor.selection.getContent(); if( selected ){ content = '[shortcode]'+selected+'[/shortcode]'; }else{ content = '[shortcode]'; } tinymce.execCommand('mceInsertContent', false, content); }); // Thêm button vào editor ed.addButton('shortcode_button', {title : 'Insert shortcode', cmd : 'tlshortcode_command', image: url + '/img/icon-short-code.png' }); }, }); // Đăng ký với tinymce tinymce.PluginManager.add('shortcode_button', tinymce.plugins.tlshortcode); });
  • Kết quả:

B4INREMOTE-aHR0cDovL2Zjd29yZHByZXNzLm5ldC93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8xMi9rZXQtcXVhLXRoZW0tYnV0dG9uLXZhby1lZGl0b3ItdGlueW1jZS5wbmc=

Tin nổi bật trong ngày
Tin mới nhất

Register

Newsletter

Email this story

If you really want to ban this commenter, please write down the reason:

If you really want to disable all recommended stories, click on OK button. After that, you will be redirect to your options page.