2014-04-19 12 views
9

Posiadałem fragment kodu, który pomógłby mi dodać niestandardowy kolor do rozwijanego menu tekstu edytora wizualnego wraz z domyślnymi kolorami. Wklejam poniższy fragment.Dodaj niestandardowy kolor tekstu WordPress 3.9 TinyMCE 4 Edytor wizualny

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'); 

Po wordpress 3,9 aktualizacji przestał działać, próbowałem wiele, aby go naprawić, ale nie jestem w stanie to zrobić, możesz mi pomóc?

Odpowiedz

22

Opcja dla kolorów tekstowych to textcolor_map, a każdy kolor ma format "color_hex", "color_name".

Więc z przykładu, wystarczy zmienić nazwę opcji i przekształcić tablicę kolorów, aby coś takiego:

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'); 

EDIT: Domyślny próbki kolorów siatka jest 5x8 (ROWSxCOLS) oraz dołączyć własne kolory po domyślnej siatce kolorów musimy zmienić liczbę wierszy. Zmień zawarte w powyższym kodzie i lepiej wyjaśnione w moim blog post.

EDIT2: Teraz jest dodatek do selektora kolorów - TinyMCE Color Picker, więc wszystkie korekty kolorów związane z WordPress 3.9 są teraz rozwiązane!

EDIT 3: Powyższy selektor kolorów jest nieaktualny. Jest to najbardziej aktualny plugin od września 2016: https://wordpress.org/plugins/kt-tinymce-color-grid/

Cheers

+0

dziękuję człowieka. Pozwoli to zaoszczędzić wiele osób. Niech cię Bóg błogosławi (y) – iSaumya

+0

Również w '$ init ['textcolor_map']' musimy najpierw wysłać ** niestandardowe kolory ** następnie ** domyślne kolory **, próbowałem robić coś przeciwnego, ale to nie działa, może to być nowa wersja, ale nie dziękuję za pomoc. Dzięki za tonę. – iSaumya

+0

@urosevic A co z dodawaniem niestandardowego wyboru koloru: "$ init ['theme_advanced_more_colors'] = true;" – ptimson