จะสร้างไอคอนปลั๊กอินใน wordpress post ได้อย่างไร? รหัสที่ฉันต้องการแทรกในรหัสปลั๊กอินและจะปรากฏในแถบโพสต์ [wp-admin / post.php]
ชอบรูปนี้:
ผลลัพธ์: ถ้าฉันคลิกไอคอนมันจะเขียน[plugin]
ลงในเนื้อหาโพสต์โดยอัตโนมัติดังนี้:
จะสร้างไอคอนปลั๊กอินใน wordpress post ได้อย่างไร? รหัสที่ฉันต้องการแทรกในรหัสปลั๊กอินและจะปรากฏในแถบโพสต์ [wp-admin / post.php]
ชอบรูปนี้:
ผลลัพธ์: ถ้าฉันคลิกไอคอนมันจะเขียน[plugin]
ลงในเนื้อหาโพสต์โดยอัตโนมัติดังนี้:
คำตอบ:
ในการเพิ่มปุ่มของเราไปยังตัวแก้ไข TinyMCE เราต้องทำหลายสิ่ง:
ในขั้นตอนเหล่านี้เราลงทะเบียนปลั๊กอิน TinyMCE ซึ่งจะอยู่ในไฟล์ javascript ที่'path/to/shortcode.js'
(ดูwpse72394_register_tinymce_plugin()
ด้านล่าง)
// init process for registering our button
add_action('init', 'wpse72394_shortcode_button_init');
function wpse72394_shortcode_button_init() {
//Abort early if the user will never see TinyMCE
if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') && get_user_option('rich_editing') == 'true')
return;
//Add a callback to regiser our tinymce plugin
add_filter("mce_external_plugins", "wpse72394_register_tinymce_plugin");
// Add a callback to add our button to the TinyMCE toolbar
add_filter('mce_buttons', 'wpse72394_add_tinymce_button');
}
//This callback registers our plug-in
function wpse72394_register_tinymce_plugin($plugin_array) {
$plugin_array['wpse72394_button'] = 'path/to/shortcode.js';
return $plugin_array;
}
//This callback adds our button to the toolbar
function wpse72394_add_tinymce_button($buttons) {
//Add the button ID to the $button array
$buttons[] = "wpse72394_button";
return $buttons;
}
ตอนนี้เราต้องสร้างปลั๊กอิน TinyMCE ของเรา สิ่งนี้จะไปในไฟล์'path/to/shortcode.js'
(ตามที่ระบุในขั้นตอนแรก)
jQuery(document).ready(function($) {
tinymce.create('tinymce.plugins.wpse72394_plugin', {
init : function(ed, url) {
// Register command for when button is clicked
ed.addCommand('wpse72394_insert_shortcode', function() {
selected = tinyMCE.activeEditor.selection.getContent();
if( selected ){
//If text is selected when button is clicked
//Wrap shortcode around it.
content = '[shortcode]'+selected+'[/shortcode]';
}else{
content = '[shortcode]';
}
tinymce.execCommand('mceInsertContent', false, content);
});
// Register buttons - trigger above command when clicked
ed.addButton('wpse72394_button', {title : 'Insert shortcode', cmd : 'wpse72394_insert_shortcode', image: url + '/path/to/image.png' });
},
});
// Register our TinyMCE plugin
// first parameter is the button ID1
// second parameter must match the first parameter of the tinymce.create() function above
tinymce.PluginManager.add('wpse72394_button', tinymce.plugins.wpse72394_plugin);
});
init
ฮุกเป็นadmin_init
ฮุกสามารถประหยัดการประมวลผลพิเศษเล็กน้อยได้ที่ฟรอนต์เอนด์
admin_init
จะดีกว่า
มีมากเกินไปที่จะนำคำตอบทั้งหมดที่นี่เพื่อเช็คเอาต์คู่มือนี้: http://wp.smashingmagazine.com/2012/05/01/wordpress-shortcodes-complete-guide/
คุณต้องสร้างไฟล์ Javascript ที่ดำเนินการจากปุ่มที่คุณลงทะเบียนผ่าน WordPress ที่แทรกปุ่ม TinyMCE ลงในเครื่องมือแก้ไข