web-dev-qa-db-fra.com

Ajouter des informations uniques sur la classe ou l'ID à tinyMCE

Existe-t-il une méthode pour appliquer un ID de classe de corps unique à l'éditeur de la même manière que les informations de classe de corps sont ajoutées à la page publiée?

J'utilise la fonction add_editor_style () pour rendre les styles de l'éditeur afin de refléter la page publiée. Cependant, il existe certaines pages où les styles se détachent des règles de page standard et j'aimerais pouvoir inclure certaines de ces règles de style exceptionnelles dans l'éditeur.

4
Marc P

Vous pouvez filtrer les classes de corps TinyMCE pour les ajouter ou les modifier selon vos besoins. C'est une chaîne qui est pré-remplie avec des éléments tels que type type, le plus simple est donc d'ajouter vos classes supplémentaires (avec un espace précédent).

<?php
function wpse_128380_tinymce_body_class( $mce ) {
    // you could do things here to detect whatever you need
    // and use those for the additional classes.
    // be safe and use sanitize_html_class or similar if generated.

    // example: use the post ID when editing a post
    if ( $post = get_post() ) {
        $mce['body_class'] .= ' ' . sanitize_html_class( $post->ID );
    }

    $mce['body_class'] .= ' custom-class another-custom-class etc';

    return $mce;
}
add_filter( 'tiny_mce_before_init', 'wpse_128380_tinymce_body_class' );
// if you're using the "teeny" version of the editor,
// it fires the teeny_mce_before_init filter instead.
9
helenhousandi