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
  [Aporte]Como crear un foro en wordpress Murcia1021 5 80 Ayer, 04:00 AM
Último mensaje: jlrcoff
  Foro en Wordpress Carlos Mendoza 14 326 15-05-2018, 07:02 PM
Último mensaje: Kenay Lorenzo
Pregunta [Duda] Página de Wordpress como subdominio Axelazo! 3 66 14-05-2018, 01:40 AM
Último mensaje: DarkMaster
Triste Solucionado: Problemas con temas de wordpress k0ke 16 325 28-04-2018, 08:45 PM
Último mensaje: angelismo
Guiño 3 Maneras de crear una red social con WordPress manuelxd1010 12 212 20-03-2018, 04:41 PM
Último mensaje: alieninc
Sonrisa TEMA WORDPRESS PELICULAS magoazul 3 83 01-03-2018, 09:39 PM
Último mensaje: jcifuentes
Guiño Templates/Plantillas Gratis para Wordpress Bycolor 4 121 22-01-2018, 01:20 AM
Último mensaje: angelismo
  Tema WordPress ArtuGar 5 163 20-12-2017, 03:20 PM
Último mensaje: alieninc
  Enviar js a footer en wordpress Jvh_22 4 207 03-10-2017, 04:45 PM
Último mensaje: alieninc
  WordPress: Artículos vs Páginas Carlos Mendoza 7 401 22-05-2017, 08:23 PM
Último mensaje: brettavz



Usuarios navegando en este tema: 1 invitado(s)