Решение для рендеринга Shortcodes в редакторе администратора

Я задал этот вопрос около года назад, и я надеюсь, что есть какое-то простое решение, которое позволит мне достичь моей цели. Итак, вот оно:

Я часто использую короткие коды в редакторе администратора, но когда я перехожу к клиенту, они часто не понимают, как они работают.

То, что я ищу, – это решение, которое просто автоматически отображает ассоциированный вывод коротких кодов в редакторе admin WYSIWYG.

С точки зрения зрения, я хотел бы, чтобы это отображалось так же, как при отображении строки «больше» или при отображении изображения в редакторе. Под этим я подразумеваю, что пользователь увидит вывод, но сможет только удалить его, но не отредактировать содержимое отображаемого короткого кода.

Solutions Collecting From Web of "Решение для рендеринга Shortcodes в редакторе администратора"

На самом деле не так уж плохо делать то, что вы просите. Это займет около часа, чтобы сделать свой первый, и 10 минут для последующих.

В конечном итоге, вы создадите плагин TinyMCE. Вот что вы должны вооружить себя, чтобы начать:

  1. Общее руководство по созданию плагина tinymce
  2. Пример кода из WordPress Core
  3. Общее руководство по добавлению плагина TinyMCE в WordPress. Я нашел этот , который кажется адекватным.

Теперь у вас есть все инструменты, чтобы «сделать! Из всего этого код, который будет вам больше всего интересен, – это блок в примере кода WP:

4 function replaceGalleryShortcodes( content ) { 5 return content.replace( /\[gallery([^\]]*)\]/g, function( match ) { 6 return html( 'wp-gallery', match ); 7 }); 8 } 9 10 function html( cls, data ) { 11 data = window.encodeURIComponent( data ); 12 return '<img src="' + tinymce.Env.transparentSrc + '" class="wp-media mceItem ' + cls + '" ' + 13 'data-wp-media="' + data + '" data-mce-resize="false" data-mce-placeholder="1" alt="" />'; 14 } 

Здесь короткий код для галереи заменяется тегом img . Тег img имеет класс wp-gallery , который создается стилем CSS, найденным здесь .

Изменить 2016-04-06: Обновлен контент и ссылки для TinyMCE 4 и WordPress 4.4