2017-06-19 7 views
0

私はwordpressのTinyMCEエディタにボタンを追加しようとしています。ここ 細かいwordksワードプレスにボタンを登録する登録コード:tinymceエディタでトグルボタンを作成してonclickイベントを追加するには?

add_action('init', 'wptuts_buttons'); 
function wptuts_buttons() { 
    add_filter("mce_external_plugins", "wptuts_add_buttons"); 
    add_filter('mce_buttons', 'wptuts_register_buttons'); 
} 
function wptuts_add_buttons($plugin_array) { 
    $plugin_array['wptuts'] = get_template_directory_uri() . '/js/webramz-tinymce-toggle.js'; 
    return $plugin_array; 
} 
function wptuts_register_buttons($buttons) { 
    array_push($buttons, 'mybutton'); // dropcap', 'recentposts 
    return $buttons; 
} 

、ここでボタンを追加し、それのコマンドにするJSプラグインコード:

(function() { 
    tinymce.create('tinymce.plugins.Wptuts', { 
     init : function(ed, url) { 
      ed.addButton('mybutton', { 
       text: "rtl-ltr", 
       cmd : 'mybuttoncmd', 
      }); 
      ed.addCommand('mybuttoncmd', function() { 
       //function() { 
        $(".wp-editor-area").addClass("ltr"); 
       //} 
      }); 
     }, 
     // ... Hidden code 
    }); 
    // Register plugin 
    tinymce.PluginManager.add('wptuts', tinymce.plugins.Wptuts); 
})(); 

ボタンがコンソールにこのエラーが表示されますが、持っているにクリックしたとき:

TypeError: $ is not a function 

私の責任は何ですか? 実際、 "テキストモード"で "ltr"クラスを "textarea"に追加したり削除したりするトグルボタンを追加します。 助けてください?ありがとうございました。

+0

あなたはjQueryライブラリへの参照が含まれていますか? – mjw

+0

あなたの質問が分かりません –

+0

下記のMichaelの答えをご覧ください。 – mjw

答えて

2

WordPressはjQueryを読み込みますが、通常のアプリケーションでjQueryを読み込む場合とは多少異なる方法で読み込みますが、「互換モード」が使用されます。

$は定義されていませんが、jQueryが定義されています。したがって、$を使用してjQueryを実行しようとすると、定義されていません。あなたはそれがjQueryを使用するように変更する場合:

jQuery(".wp-editor-area").addClass("ltr"); 

を...私は物事があなたのための作業を開始するだろう疑うでしょう。あなたがこの記事を読むことができます良い説明のために

https://digwp.com/2011/09/using-instead-of-jquery-in-wordpress/

+0

非常にありがとう!それは魅力のように働く。 –

+0

あなたはどのように考えているのですか?ワードプレスでビジュアルモードの代わりにテキストモードでエディタにボタンを追加する方法はありますか? –

+0

テキストモードではTinyMCEはまったく使用されないので、その部分でお手伝いできません。 –

関連する問題