2016-11-11 8 views
0

特殊なページ(イベント送信ページ)のコンテンツとして追加できる文字数を制限しました。 WordPressのテキストモードやコードモードでは正常に動作しますが、WYSIWYGエディタを使用している場合は動作しません。WordPress WYSIWYGエディターの文字制限

WordPressエディタを使用するように変更する方法はありますか?

ありがとうございました!

ここに私が使用しているJSがあります。

 // Set your character limit 
    var count_limit = 1000; 

    // Set the initial symbol count on page load 
    $('#tcepostcontent-wc span').html($('#tcepostcontent').val()); 

    $('#tcepostcontent').on('keyup', function() { 
     var char_count = $(this).val().length; 
     var tcepostcontent = $(this).val(); 
     var text_remaining = count_limit - char_count; 

    // Update the character count on every key up 
    $('#tcepostcontent-wc span').html(text_remaining); 

    if (char_count >= count_limit) { 
     $('#tcepostcontent-wc').css('color', 'red'); 
     $(this).val(tcepostcontent.substr(1, count_limit)); 
    } else { 
     $('#tcepostcontent-wc').css('color', null); 
    } 

    }).after('<p id="tcepostcontent-wc">Max 1000 are available <span>1000</span></p>'); 
+0

こんにちは、そこに誰も助けることができますか?大変感謝しています。 – Torsten

答えて

1

WordPressのビジュアルエディタはTinyMCEで、このトピックを解決するために使用できるカスタムAPIを実装しています。フォローソースを使用して小さなカスタムプラグインに追加し、エディタのIDをtinyMCE.activeEditor.editorIdに変更し、アクティブにして完了してください。

add_filter('tiny_mce_before_init', 'wpse24113_tiny_mce_before_init'); 
function wpse24113_tiny_mce_before_init($initArray) { 

    $initArray['setup'] = <<<JS 
[function(ed) { 
    ed.onKeyDown.add(function(ed, e) { 
     if (tinyMCE.activeEditor.editorId == 'content-id') { 

      var content = tinyMCE.activeEditor.getContent(); 
      var max = 300; 
      var len = content.length; 

      if (len >= max) { 
       $('#charNum').html('<span class="text-error">You've got more then '+max+' characters!</span>'); 
      } else { 
      var charCount = max - len; 

      $('#charNum').html(charCount + ' characters left'); 
      } 
     } 
    }); 

}][0] 
JS; 

    return $initArray; 
} 

ソースは、WordPressトピックのSEフォーラムのthis answerからです。

+0

これをお寄せいただきありがとうございますが、私はそれをどのように使用するか分かりません。私はすでに、バックエンドの中ですべての投稿とページのために、そしてコミュニティイベントプラグインのためにも、フロントエンドでこのプラグインを使用するときには動作しない "単語カウントとリミット"というプラグインを持っています。何か案が? – Torsten

+0

フロントエンドでは、それは十分な違いです。私はあなたがフロントエンドの中のエディターに何を使うのか分からない。あなたがTinyMCEも使うなら、それはうまくいくはずです。しかし、あなたのプラグインは、おそらくそれが管理領域でのみ動作することを確認します。 – bueltge

+0

それは良い点です - 歓声、私はそれを確認します:-) – Torsten

0

テキストモードでは動作しますが、ビジュアル(ここでは「visuell」)では動作しません。

正しいidの権利を選ぶだけの問題ですが、私が選んだもの(#tinymce、tcepostcontent_ifrなど)は動作しません。

ありがとうございました!

乾杯、 トルステン