Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Borrar código que sobra de los textarea en WordPress
#1
La tag HTML textarea es un modo estupendo de mostrar una lista larga de contenido sin que tu entrada se alargue hasta el infinito, pues restringe el contenido del texto contenido en la misma a una caja en la que tu defines el ancho y el largo de la misma. El problema es que añade códigos de sobra que seguro que no querrás mostrar.

O sea, que si introduces un textarea, digamos, así:
1 <textarea rows="10" cols="40">Aquí el texto larguísimo</textarea>

WordPress te muestra un truño de este estilo, con un montón de tags de párrafo (p), saltos de línea (br) y otros códigos HTML que no están en el texto original y que, por supuesto, no quieres que se vean …
textarea sucio

textarea sucio

Si quieres solucionarlo es sencillo, solo tienes que añadir esto a tu plugin de funciones o archivo functions.php de tu tema activo, guardas los cambios y ya no tendrás más códigos sobrantes en tus textarea:
01 //Limpiar los textarea de br,p, y demás basura
02 function clean_textarea2($matches) {
03 if ( is_array($matches) )
04 $text = $matches[1] . $matches[2] . "</textarea>";
05 else
06 $text = $matches;
07
08 $text = str_replace('<br />', '', $text);
09 $text = str_replace('<p>', "\n", $text);
10 $text = str_replace('</p>', '', $text);
11 $text = str_replace('“', '"', $text);
12 $text = str_replace('”', '"', $text);
13 $text = str_replace('‘', "'", $text);
14 $text = str_replace('’', "'", $text);
15 $text = str_replace('′', "'", $text);
16
17 return $text;
18 }
19 function clean_textarea($pee, $br = 1) {
20 if (strpos($pee, '<textarea') !== false)
21 $pee = preg_replace_callback('!(<textarea.*?>)(.*?)</textarea>!is', 'clean_textarea2', $pee );
22 return $pee;
23 }
24
25 add_filter('the_content', 'clean_textarea');

Obtienes un textarea limpito de porquería …
textarea limpio

textarea limpio

Si sigues Ayuda WordPress y te has fijado bien en el código en realidad lo que estamos haciendo es una sustitución de texto mediante str_replace, de manera que cuando encuentra un elemento indeseado lo sustituye por un espacio en blanco, algo similar a lo que ya hemos hecho para, por ejemplo, cambiar el saludo de WordPress sin modificar la traducción, quitar HTML de los comentarios, sustituir unas palabras por otras (precioso y útil para muchas cosas) y otros muchos trucos que ya hemos visto.

Otra posibilidad es desactivar el wpautop a voluntad, o probar con el plugin PS disable auto formatting, pero personalmente me parece mejor el método anterior, y funciona siempre.


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
Gran sonrisa MarketPlace para Wordpress WMasterT 5 126 05-08-2018, 01:07 AM
Último mensaje: ReyNexo23
Corazón Themes wordpress gratuitos! Axelazo! 9 258 26-07-2018, 10:14 PM
Último mensaje: jcifuentes
  copia de seguridad wordpress jalejandroolarte11 11 321 28-06-2018, 04:27 AM
Último mensaje: jalejandroolarte11
Ladrillo Pixel Caffeine para Wordpress WMasterT 1 129 11-06-2018, 05:15 PM
Último mensaje: brettavz
  [Aporte]Como crear un foro en wordpress Murcia1021 9 249 10-06-2018, 10:20 AM
Último mensaje: SoloPosts
  Personalizar Login de WordPress jcifuentes 5 166 07-06-2018, 02:46 PM
Último mensaje: alieninc
  Insertar contenido de Dropbox en WordPress jcifuentes 6 159 05-06-2018, 03:13 PM
Último mensaje: Iro
  Importando contenido directamente en wordpress jcifuentes 1 72 05-06-2018, 05:24 AM
Último mensaje: Jesam
  Convertir temas WordPress a español jcifuentes 5 141 05-06-2018, 05:22 AM
Último mensaje: Jesam
  Mostrar PDF's alojados en Box en WordPress jcifuentes 1 70 05-06-2018, 05:07 AM
Último mensaje: Jesam



Usuarios navegando en este tema: 1 invitado(s)