Come impostare la larghezza dell'editor WYSIWYG nella funzione wp_editor()?
Questo è il mio codice attuale:
$initial_data = $this->options['my_plugin_editor'];
$settings = array(
'quicktags' => array('buttons' => 'em,strong,link',), // Tag rapidi disponibili
'quicktags' => true, // Abilita i tag rapidi
'tinymce' => true, // Abilita TinyMCE
'textarea_rows' => 20, // Numero di righe dell'editor
);
$id = 'my_plugin_editor_options[my_plugin_editor]';
wp_editor($initial_data,$id,$settings);
Il problema è che non riesco a impostare la larghezza dell'editor. Posso impostare l'altezza 'textarea_rows' => 20
, ma non sono a conoscenza di un modo per impostare la larghezza (cols).
Se utilizzo una textarea standard senza editor, questo funziona bene cols="120"
Come posso impostare cols nella funzione wp_editor?
Ci sono due parametri che puoi utilizzare per modificare le dimensioni dell'editor di testo generato con wp_editor()
, eccoli qui:
$settings = array(
'editor_height' => 425, // In pixel, ha la precedenza e non ha un valore predefinito
'textarea_rows' => 20, // Non ha effetto visibile se è impostato editor_height, il valore predefinito è 20
);
- Se viene fornito
editor_height
, verrà utilizzato il suo valore esatto - Altrimenti
textarea_rows
(o il suo valore predefinito di 20) verrà utilizzato per calcolare l'altezza corrispondente in pixel
Da sapere:
Ecco alcuni esempi del risultato della conversione da textarea_rows
a pixel (questa conversione viene effettuata lato client):
- 0 a 3 => 100
- 4 => 113
- 5 => 133
- 10 => 230
- 15 => 328
- 20 => 425
- ...

$settings = array(
'tinymce' => array(
'width' => 200
)
);
Ti fornisce un editor TinyMCE con larghezza di 200px. L'ho trovato qui: http://www.tinymce.com/wiki.php/Configuration
Quando l'ho provato, il colore di sfondo del mio TinyMCE è cambiato. Quindi potrebbe essere necessario modificarlo.

Non sono sicuro che sia possibile impostare il numero di colonne (cols) nell'array.
Ma un modo per ottenere quello che vuoi sarebbe aggiungere una classe al tuo wp_editor.
$settings = array(
'quicktags' => array('buttons' => 'em,strong,link',),
'quicktags' => true,
'tinymce' => true,
'textarea_rows' => 20,
'classes' => 'yourclass',
);
oppure quando chiami wp_editor:
<?php wp_editor( $content, $editor_id, $settings = array('editor_class'=>'yourclass') ); ?>
Poi imposta semplicemente la larghezza in css:
.yourclass {
width: 400px !important; //aggiungi !important se il tuo stile viene sovrascritto
}
