Cómo establecer el ancho del editor WYSIWYG en la función wp_editor()

1 sept 2013, 11:55:51
Vistas: 16.7K
Votos: 5

Este es mi código actual:

$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);

El problema es que no puedo establecer el ancho del editor. Puedo configurar la altura 'textarea_rows' => 20, pero no encuentro una manera de establecer el ancho (cols).

Si uso un textarea estándar sin editor, esto funciona bien cols="120"

¿Cómo establecer cols en la función wp_editor?

0
Todas las respuestas a la pregunta 4
1
13

Hay dos parámetros que puedes utilizar para cambiar el tamaño del editor de texto generado con wp_editor(), aquí están:

$settings = array(
    'editor_height' => 425, // En píxeles, tiene prioridad y no tiene valor por defecto
    'textarea_rows' => 20,  // No tiene efecto visible si editor_height está establecido, el valor por defecto es 20
);
  • Si se proporciona editor_height, se utilizará su valor directo
  • De lo contrario, textarea_rows (o su valor por defecto de 20) se utilizará para calcular la altura correspondiente en píxeles

Es bueno saberlo:

Aquí hay algunos ejemplos del resultado de la conversión de textarea_rows a píxeles (esto se hace en el lado del cliente):

  • 0 a 3 => 100
  • 4 => 113
  • 5 => 133
  • 10 => 230
  • 15 => 328
  • 20 => 425
  • ...
2 oct 2014 19:42:57
Comentarios

Creo que la pregunta era sobre el ancho, no la altura.

Vlado Vlado
18 ago 2023 15:20:54
1
$settings = array(
    'tinymce' => array(
        'width' => 200
    )
);

Te da un editor TinyMCE con un ancho de 200px. Lo encontré aquí: http://www.tinymce.com/wiki.php/Configuration

Cuando lo probé, el color de fondo de mi TinyMCE cambió. Así que quizás tengas que ajustar eso.

12 mar 2014 23:56:55
Comentarios

Funcionó perfectamente, gracias

Karue Benson Karue Karue Benson Karue
14 jun 2020 11:33:20
1

OK, esto es lo que acabo de hacer que funciona bien:

echo "<div style='width:75%;'>";
wp_editor( $content, 'myid', $settings );
echo "</div>";
18 may 2018 06:32:47
Comentarios

Aunque supongo que esto funciona, sugiero agregar el parámetro en su lugar, como se describe en otras respuestas.

Christine Cooper Christine Cooper
25 abr 2019 11:54:19
0

No estoy seguro si incluso puedes establecer el número de columnas ("cols") en el array.

Pero una forma de lograr lo que deseas sería agregando una clase a tu wp_editor.

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

o cuando llamas al wp_editor:

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

Luego simplemente establece el ancho en CSS:

 .tuclase {
   width: 400px !important; //agrega !important si tu estilo está siendo sobrescrito
 }   
1 sept 2013 12:43:11