2016-11-11 2 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 там вы можете использовать, чтобы решить эту тему. Вы должны использовать исходный код, добавить его в небольшой настраиваемый плагин, изменить идентификатор для 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; 
} 

Источник от this answer в SE Форум для WordPress темы.

+0

Спасибо за это, однако я не уверен, как его использовать. У меня уже есть плагин под названием «Word Count and Limit», который работает внутри бэкэнд для всех сообщений и страниц, а также для плагина событий сообщества, но не при использовании этого плагина в интерфейсе. Есть идеи? – Torsten

+0

В переднем конце это достаточная разница. Я не знаю, что вы используете для редактора внутри интерфейса. Если вы используете также TinyMCE, он также должен работать. Но ваш плагин, возможно, проверяет, что он работает только в области администратора. – bueltge

+0

Это хороший момент - привет, я проверю это :-) – Torsten

0

Он работает в текстовом режиме, но не для визуального (здесь «visuell»).

Это должен быть вопрос выбора правильного права, но все, что я выбираю (#tinymce, tcepostcontent_ifr и т. Д.), Не работает.

Большое спасибо за помощь!

Приветствия, Торстен

Смежные вопросы