Javascript Wordpress 4.1 TinyMce按钮插件

Javascript Wordpress 4.1 TinyMce按钮插件,javascript,php,wordpress,tinymce,Javascript,Php,Wordpress,Tinymce,我试图在wordpress中的tinymce编辑器上添加一个按钮 Wordpress版本:4.1 我遵循了本教程: 但它不起作用。我在谷歌上进行了搜索,至少我试着找到了一些东西,但没有结果 有人知道那个教程有什么问题吗 我想做的是在tinymce上添加一个按钮,它可以获取youtube url,并在光标所在的位置添加一个自定义html,其中包含链接 提前谢谢,我对php、wordpress和tinymce这类东西真的很陌生 编辑: 尝试@Kaloyan Ivanov推荐的教程 链接: 我的步骤

我试图在wordpress中的tinymce编辑器上添加一个按钮

Wordpress版本:4.1

我遵循了本教程:

但它不起作用。我在谷歌上进行了搜索,至少我试着找到了一些东西,但没有结果

有人知道那个教程有什么问题吗

我想做的是在tinymce上添加一个按钮,它可以获取youtube url,并在光标所在的位置添加一个自定义html,其中包含链接

提前谢谢,我对php、wordpress和tinymce这类东西真的很陌生

编辑:

尝试@Kaloyan Ivanov推荐的教程 链接:

我的步骤:

1.我在主题的functions.php末尾添加了前4个php代码

        //add custom plugin to tinymce
        add_action('admin_head', 'gavickpro_add_my_tc_button');

        function gavickpro_add_my_tc_button() {
            global $typenow;
            // check user permissions
            if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) {
            return;
            }
            // verify the post type
            if( ! in_array( $typenow, array( 'post', 'page' ) ) )
                return;
            // check if WYSIWYG is enabled
            if ( get_user_option('rich_editing') == 'true') {
                add_filter("mce_external_plugins", "gavickpro_add_tinymce_plugin");
                add_filter('mce_buttons', 'gavickpro_register_my_tc_button');
            }
        }

        function gavickpro_add_tinymce_plugin($plugin_array) {
            $plugin_array['gavickpro_tc_button'] = plugins_url( '/text-button.js', __FILE__ ); // CHANGE THE BUTTON SCRIPT HERE
            return $plugin_array;
        }

        function gavickpro_register_my_tc_button($buttons) {
           array_push($buttons, "gavickpro_tc_button");
           return $buttons;
        }
2.然后我在functions.php所在主题的同一文件夹中创建了一个名为text-button.js的文件,并添加了代码

            (function() {
                tinymce.PluginManager.add('gavickpro_tc_button',   function( editor, url ) {
                    editor.addButton( 'gavickpro_tc_button', {
                        text: 'My test button',
                        icon: false,
                        onclick: function() {
                            editor.insertContent('Hello World!');
                        }
                    });
                });
            })();
但这不起作用,因为它会从编辑器中显示所有的tinymce按钮

最后,按照Kaloyan Ivanov的建议,进行一点小小的改变:

换行:

$plugin_array['gavickpro_tc_button'] = plugins_url( '/text-button.js', __FILE__ );
与:


感谢Kaloyan Ivanov和gavick.com/blog这在wordpress 4.1的新tinymce编辑器上工作查看以下教程,它似乎是tinymce的最新版本(最近更新)

您链接的教程可能是针对WordPress 3.9之前版本中的TinyMCE

编辑:做了一个快速测试。似乎正在工作。:)


让它工作的快速指南:

  • 打开
  • 将php的四个代码粘贴到functions.php文件中
  • 替换
    plugins\uurl('/text-button.js',\uuuuuuu文件)get_bloginfo('stylesheet_directory')进行编码/text button.js
    (如果文件位于子目录中,可能需要调整)
  • 将第五个块中的javascript代码粘贴到您创建的javascript文件中
  • (请注意,这只是一个在主题中实现它的快速示例,因此您可以了解其主要思想,如果您实际正在构建插件,您应该使用
    plugins\uURL('/text button.js',\uuu FILE\uu)
    语法)


    那怎么办?我做了所有的步骤,没有错误,只是按钮没有按预期的那样出现。谢谢。我试试这个。我对这个很陌生。我无法让它工作。我正在尝试的方法是在主题的functions.php上添加一个require函数,我在php文件中添加了“创建按钮第1部分”中的代码,但所有按钮现在都消失了。我添加了所有3个php函数,并创建了js文件,与教程中完全相同,没有更改任何名称。你能告诉我你是怎么做的吗。很抱歉我对wordpress的无知。如果我只能添加一次按钮,那么在tinymce api的帮助下,我将能够开发我知道的javascript插件,但是wordpress部分对我来说很棘手。如果你能一步一步地告诉我你把函数放在了什么文件中,因为在教程中没有显示。我已经用我以前的步骤更新了我的答案。我很高兴我能帮上忙。享受编码乐趣。:)
    $plugin_array['gavickpro_tc_button'] = get_bloginfo( 'stylesheet_directory' ) . '/text-button.js';