Добавить кнопку «код» в WordPress tinyMCE - PullRequest
3 голосов
/ 23 августа 2011

Я следую этому уроку, и многим он нравится: http://codex.wordpress.org/TinyMCE_Custom_Buttons

function myplugin_addbuttons() {
   // Don't bother doing this stuff if the current user lacks permissions
   if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') )
     return;

   // Add only in Rich Editor mode
   if ( get_user_option('rich_editing') == 'true') {
     add_filter('mce_buttons', 'register_myplugin_button');
   }
}

//Should add 'code' to the tinyMce buttons on the rich editor.
function register_myplugin_button($buttons) {
   array_push($buttons, "code");
   return $buttons;
}


// init process for button control
add_action('init', 'myplugin_addbuttons');

Все, что я хочу сделать, - это добавить кнопку «Код» в редактор форматированного текста.Это уже на стороне редактора HTML.Судя по тому, как это упоминается в учебнике, кажется, что я мог бы просто написать в code_push «code» в кнопки.Но это не работает.Что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 17 июня 2012

Я написал плагин, который делает именно это, то есть он предоставляет кнопку с именем 'codeElement', которую пользователи могут использовать для переноса текста в элемент или тег кода.Страница плагина на Sourceforge

прямая загрузка
3 голосов
/ 26 августа 2011

Если у вас есть доступ для добавления настроек в конфигурацию TinyMCE (что я не уверен, что вы делаете на основе ваших предыдущих комментариев), то вы можете добавить следующее.

style_formats : [{title : 'Code', inline : 'code'}]

Для этого нужно добавить элемент " code " в раскрывающемся списке "Стиль", который обернет выделенный текст в теги кода.

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

Наконец, если ничего не помогает, вы можете разработать плагин, который оборачивает выделенный текст ( ed.selection.getContent () ) в код и возвращает его, используя ed.selection.setContent ()

1 голос
/ 10 июля 2013

Только что наткнулся на плагин WordPress http://wordpress.org/plugins/tinymce-code-element/, который выполняет свою работу.

...