web-dev-qa-db-fra.com

Comment définir la largeur de l'éditeur WYSIWYG dans la fonction wp_editor ()?

Ceci est mon code actuel:

$initial_data = $this->options['my_plugin_editor'];
$settings = array(
    'quicktags' => array('buttons' => 'em,strong,link',),
    'quicktags' => true,
    'tinymce' => true,
    'textarea_rows' => 20,
);
$id = 'my_plugin_editor_options[my_plugin_editor]';
wp_editor($initial_data,$id,$settings);

Le problème est que je ne parviens pas à définir la largeur de l'éditeur. Je peux définir la hauteur 'textarea_rows' => 20, mais je ne suis pas au courant d'un moyen de définir la largeur (cols).

Si j'utilise une zone de texte standard sans éditeur, cela fonctionne bien cols="120"

Comment définir les cols dans la fonction wp_editor?

1
Derfder

Il y a deux paramètres que vous pouvez utiliser pour changer la taille de l'éditeur de texte généré avec wp_editor().

$settings = array(
    'editor_height' => 425, // In pixels, takes precedence and has no default value
    'textarea_rows' => 20,  // Has no visible effect if editor_height is set, default is 20
);
  • Si editor_height est fourni, sa valeur brute sera utilisée
  • Sinon, textarea_rows (ou sa valeur par défaut de 20) sera utilisé pour calculer la hauteur correspondante en pixels

Bon à savoir:

Voici quelques exemples du résultat de la conversion de textarea_rows en pixels (cela se fait côté client):

  • 0 à 3 => 100
  • 4 => 113
  • 5 => 133
  • 10 => 230
  • 15 => 328
  • 20 => 425
  • ...
3
Nabil Kadimi
$settings = array(
    'tinymce' => array(
        'width' => 200
    )
);

Vous donne un tinymce large de 200px. Je l'ai trouvé ici: http://www.tinymce.com/wiki.php/Configuration

Lorsque j'ai essayé, la couleur de fond de mon tinymce a changé. Alors peut-être que vous devez modifier cela.

2
user3159159

OK, voici ce que je viens de faire qui fonctionne bien:

echo "<div style='width:75%;'>";
wp_editor( $content, 'myid', $settings );
echo "</div>";
1
Daniel Payne

Je ne suis pas sûr si vous pouvez même définir le "nombre" de colonnes dans le tableau.

Mais un moyen d’atteindre ce que vous voulez consiste à ajouter une classe à votre wp_editor.

 $settings = array(
'quicktags' => array('buttons' => 'em,strong,link',),
'quicktags' => true,
'tinymce' => true,
'textarea_rows' => 20,
 'classes' => 'yourclass',
 );

ou quand vous appelez le wp_editor:

 <?php wp_editor( $content, $editor_id, $settings = array('editor_class'=>'yourclass') ); ?>

Ensuite, définissez simplement la largeur dans css:

 .yourclass {
   width: 400px !important; //add !important if your style is being overriden 
 }   
0
Laniakea