Следующий небольшой плагин создает пользовательскую кнопку внутри строки 1 WordPress TinyMCE версии 4, протестированной в WP версии 3.9-бета2.
Плагин var_dump
включен, чтобы понять значения. Кроме того , можно добавить кнопку на другие линии визуального редактора, только другой крючок, как и для линии 2: mce_buttons_2
.
Результат
Плагин, PHP сторона - tinymce4-test.php
<?php
/**
* Plugin Name: TinyMCE 4 @ WP Test
* Description:
* Plugin URI:
* Version: 0.0.1
* Author: Frank Bültge
* Author URI: http://bueltge.de
* License: GPLv2
* License URI: ./assets/license.txt
* Text Domain:
* Domain Path: /languages
* Network: false
*/
add_action( 'admin_head', 'fb_add_tinymce' );
function fb_add_tinymce() {
global $typenow;
// Only on Post Type: post and page
if( ! in_array( $typenow, array( 'post', 'page' ) ) )
return ;
add_filter( 'mce_external_plugins', 'fb_add_tinymce_plugin' );
// Add to line 1 form WP TinyMCE
add_filter( 'mce_buttons', 'fb_add_tinymce_button' );
}
// Inlcude the JS for TinyMCE
function fb_add_tinymce_plugin( $plugin_array ) {
$plugin_array['fb_test'] = plugins_url( '/plugin.js', __FILE__ );
// Print all plugin JS path
var_dump( $plugin_array );
return $plugin_array;
}
// Add the button key for address via JS
function fb_add_tinymce_button( $buttons ) {
array_push( $buttons, 'fb_test_button_key' );
// Print all buttons
var_dump( $buttons );
return $buttons;
}
Сценарий, сторона JavaScript - plugin.js
( function() {
tinymce.PluginManager.add( 'fb_test', function( editor, url ) {
// Add a button that opens a window
editor.addButton( 'fb_test_button_key', {
text: 'FB Test Button',
icon: false,
onclick: function() {
// Open window
editor.windowManager.open( {
title: 'Example plugin',
body: [{
type: 'textbox',
name: 'title',
label: 'Title'
}],
onsubmit: function( e ) {
// Insert content when the window form is submitted
editor.insertContent( 'Title: ' + e.data.title );
}
} );
}
} );
} );
} )();
Суть
Используйте Gist Bueltge / 9758082 для справки или загрузите. Gist также имеет больше примеров для разных кнопок в TinyMCE.
связи
И, если вы хотите, чтобы у вас была настоящая кнопка со значком, вы можете использовать для нее дашиконы или свой собственный значок-шрифт.
Создайте файл CSS и поставьте в очередь на стороне администратора;
В основном взяты прямо из ядра.
источник
Простой способ добавления кнопки
1) ДОБАВЬТЕ ЭТОТ КОД В FUNCTIONS.PHP, ИЛИ В ПЛУГИН
2) Создайте 1_button.php в целевой папке и вставьте этот код (обратите внимание, измените URL «wp-load» и «ButtonImage.png» !!!)
источник