web-dev-qa-db-fra.com

Arrêtez certaines classes apparaissant dans le menu déroulant Style avancé TinyMCE

J'utilise le plug-in TinyMCE Advanced pour pouvoir ajouter mes propres styles personnalisés à la liste déroulante Style de l'éditeur visuel. Cependant, je ne souhaite pas que certains des styles inclus dans le fichier style.css y soient listés, car ce sont des classes 'internes' (pour aligner des images, etc.).

Y a-t-il un moyen d'empêcher ces classes d'être affichées dans la liste déroulante? Soit en modifiant la configuration avancée de TinyMCE, soit en modifiant le fichier CSS d’une certaine manière?

5
robintw

Cela devrait être ce que vous cherchez - mettez ce code dans le fichier functions.php de votre thème:

add_filter( 'tiny_mce_before_init', 'yourprefix_tiny_mce_before_init' );
function yourprefix_tiny_mce_before_init( $init_array ) {

    // filter styles:
    $init_array['theme_advanced_styles'] = "your_style=your_class";

    // filter formats:
    $init_array['theme_advanced_blockformats'] = "p,h3,h4,h5";

    return $init_array;
}

De cette façon, le seul style qui sera affiché est your_style.

La 3ème ligne prend en charge les formats tinymce - pourrait être utile aussi.

Voir Plugin_API/Filter_Reference/tiny_mce_before_init pour plus d'informations et d'exemples.

7
Michal Mau