Добавить пользовательский цвет текста WordPress 3.9 TinyMCE 4 Визуальный редактор

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

function change_mce_options( $init ) {
  $default_colours = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF';
  $custom_colours = 'e14d43,d83131,ed1c24,f99b1c,50b848,00a859,00aae7,282828';
  $init['theme_advanced_text_colors'] = $default_colours . ',' . $custom_colours;
  $init['theme_advanced_more_colors'] = true;
  return $init;
}
add_filter('tiny_mce_before_init', 'change_mce_options');

После обновления wordpress 3.9 он перестал работать, я много раз пытался это исправить, но у меня не получается, не могли бы вы мне помочь?


person iSaumya    schedule 19.04.2014    source источник


Ответы (1)


Вариант цвета текста — textcolor_map, а формат каждого цвета — "color_hex", "color_name".

Итак, из вашего примера просто измените имя параметра и преобразуйте массив цветов примерно так:

function my_mce4_options($init) {
  $default_colours = '"000000", "Black",
                      "993300", "Burnt orange",
                      "333300", "Dark olive",
                      "003300", "Dark green",
                      "003366", "Dark azure",
                      "000080", "Navy Blue",
                      "333399", "Indigo",
                      "333333", "Very dark gray",
                      "800000", "Maroon",
                      "FF6600", "Orange",
                      "808000", "Olive",
                      "008000", "Green",
                      "008080", "Teal",
                      "0000FF", "Blue",
                      "666699", "Grayish blue",
                      "808080", "Gray",
                      "FF0000", "Red",
                      "FF9900", "Amber",
                      "99CC00", "Yellow green",
                      "339966", "Sea green",
                      "33CCCC", "Turquoise",
                      "3366FF", "Royal blue",
                      "800080", "Purple",
                      "999999", "Medium gray",
                      "FF00FF", "Magenta",
                      "FFCC00", "Gold",
                      "FFFF00", "Yellow",
                      "00FF00", "Lime",
                      "00FFFF", "Aqua",
                      "00CCFF", "Sky blue",
                      "993366", "Red violet",
                      "FFFFFF", "White",
                      "FF99CC", "Pink",
                      "FFCC99", "Peach",
                      "FFFF99", "Light yellow",
                      "CCFFCC", "Pale green",
                      "CCFFFF", "Pale cyan",
                      "99CCFF", "Light sky blue",
                      "CC99FF", "Plum"';

  $custom_colours =  '"E14D43", "Color 1 Name",
                      "D83131", "Color 2 Name",
                      "ED1C24", "Color 3 Name",
                      "F99B1C", "Color 4 Name",
                      "50B848", "Color 5 Name",
                      "00A859", "Color 6 Name",
                      "00AAE7", "Color 7 Name",
                      "282828", "Color 8 Name"';

  // build colour grid default+custom colors
  $init['textcolor_map'] = '['.$default_colours.','.$custom_colours.']';

  // enable 6th row for custom colours in grid
  $init['textcolor_rows'] = 6;

  return $init;
}
add_filter('tiny_mce_before_init', 'my_mce4_options');

РЕДАКТИРОВАНИЕ: сетка образцов цвета по умолчанию имеет размер 5x8 (ROWSxCOLS), и чтобы добавить пользовательские цвета после сетки цветов по умолчанию, нам нужно изменить количество строк. Изменение включено в приведенный выше код и подробно описано в моем сообщении в блоге< /а>.

EDIT2: теперь есть дополнение для выбора цвета - TinyMCE Color Picker, так что все настройки, связанные с цветами для WordPress 3.9, теперь решены!

РЕДАКТИРОВАНИЕ 3. Приведенная выше палитра цветов устарела. Это самый последний плагин на сентябрь 2016 года: https://wordpress.org/plugins/kt-tinymce-color-grid/

Ваше здоровье

person urosevic    schedule 20.04.2014
comment
Спасибо большое. Это спасет огромное количество людей. Да благословит тебя Бог (у) - person iSaumya; 21.04.2014
comment
Также в $init['textcolor_map'] нам сначала нужно отправить пользовательские цвета, а затем цвета по умолчанию, я пытался сделать наоборот, но это не сработает, может быть, новая версия не будет позвольте, но большое спасибо за помощь. Благодаря тонну. - person iSaumya; 21.04.2014
comment
@urosevic Как насчет добавления пользовательского выбора цвета: $init['theme_advanced_more_colors'] = true; - person ptimson; 24.04.2014
comment
@ptimson Я почти уверен, что в TinyMCE 4.0 из коробки нет пользовательских функций выбора цвета. - person urosevic; 26.04.2014
comment
Теперь у нас есть решение для палитры цветов — ознакомьтесь с плагином TinyMCE Color Picker. - person urosevic; 01.05.2014
comment
@urosevic Я думаю, ребята, этот код нужно обновить, так как после включения этого блока опция выбора большего количества цветов (теперь по умолчанию в WP), а также опция удаления цвета (теперь по умолчанию в wp) не отображается. См. это: puu.sh/kE309/3ce7a9df19.jpg Итак, обновление действительно необходимо. Ждем Вашего ответа. - person iSaumya; 09.10.2015