php 微小的mce自定义按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 微小的mce自定义按钮相关的知识,希望对你有一定的参考价值。

/**
 * Created by Simon on 9/14/2017.
 */


(function () {
    tinymce.PluginManager.add('my_mce_button', function (editor, url) {
        editor.addButton('my_mce_button', {
            icon: false,
            type: 'menubutton',
            text: 'CTA - knop',
            onclick: function () {
                editor.windowManager.open({
                    title: 'CTA knop invoegen',
                    body: [
                        {
                            type: 'textbox',
                            name: 'tekst',
                            label: 'Knop tekst'
                        },
                        {
                            type: 'textbox',
                            name: 'link',
                            label: 'Knop link'
                        }
                    ],
                    onsubmit: function (e) {
                        editor.insertContent('[ctaknop tekst="' + e.data.tekst + '" link="' + e.data.link + '"]');
                    }
                });
            }
        });
    });
})();

// Hooks your functions into the correct filters
function my_add_mce_button() {
    // check user permissions
    if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
        return;
    }
    // check if WYSIWYG is enabled
    if ( 'true' == get_user_option( 'rich_editing' ) ) {
        add_filter( 'mce_external_plugins', 'my_add_tinymce_plugin' );
        add_filter( 'mce_buttons', 'my_register_mce_button' );
    }
}
add_action('admin_head', 'my_add_mce_button');

// Declare script for new button
function my_add_tinymce_plugin( $plugin_array ) {
    $plugin_array['my_mce_button'] = get_template_directory_uri() .'/assets/js/mce-button.js';
    return $plugin_array;
}

// Register new button in the editor
function my_register_mce_button( $buttons ) {
    array_push( $buttons, 'my_mce_button' );
    return $buttons;
}


// Add Shortcode
function ctaknop_shortcode( $atts ) {

    // Attributes
    $atts = shortcode_atts(
        array(
            'tekst' => 'tekst',
            'link' => 'link',
        ),
        $atts
    );
    return "<a class='btn' href='$atts[link]'>$atts[tekst]</a>";
}
add_shortcode( 'ctaknop', 'ctaknop_shortcode' );

以上是关于php 微小的mce自定义按钮的主要内容,如果未能解决你的问题,请参考以下文章

php 微小的MCE Anpassung

php 微小的mce wp删除属性

php 微小的MCE

在php文件中标记MCE按钮,所以我可以翻译它

黄聪:wordpress如何扩展TinyMCE编辑器,添加自定义按钮及功能

WordPress的编译器功能扩展