web-dev-qa-db-fra.com

Supprimer tinyMCE de l'administrateur et remplacer par textarea

J'ai créé un plugin dans lequel j'ai un type de post personnalisé. J'utilise post_content pour du texte simple. Je n'ai pas besoin de proposer une édition ou une insertion de données sophistiquée pour ce champ. J'ai donc cherché un moyen de supprimer les boutons de l'éditeur tinyMCE.

Je n’ai jamais trouvé une très bonne solution, j’ai donc supprimé la editor du type de publication personnalisé pris en charge dans la fonction de registre.

'supports' => array('title','revisions','thumbnail'),

Ensuite, pour créer une zone pour le contenu, j’exécute simplement une textarea dans le formulaire principal avec les attributs name et id en tant que "content".

<tr>
    <th scope="row">
        <label for="content">Review body</label>
    </th>
    <td>
        <textarea style="height: 300px; width: 100%" autocomplete="off" cols="40" name="content" id="content">' . $post->post_content . '</textarea>
    </td>
</tr>

Cela fonctionne exactement comme je veux, et c'est assez simple.

La question est: est-ce que je perds mon assainissement ou saute des mesures de sécurité?

1
Nathan Powell

Inutile de réinventer la roue - remettez votre support editor en place et ajustez les paramètres:

function wpse_199918_wp_editor_settings( $settings, $editor_id ) {
    if ( $editor_id === 'content' && get_current_screen()->post_type === 'custom_post_type' ) {
        $settings['tinymce']   = false;
        $settings['quicktags'] = false;
        $settings['media_buttons'] = false;
    }

    return $settings;
}

add_filter( 'wp_editor_settings', 'wpse_199918_wp_editor_settings', 10, 2 );
5
TheDeadMedic