Hola chicos, simplemente quiero evitar la creación de párrafos vacíos en mi publicación de WordPress. Eso sucede con bastante frecuencia cuando se intenta espaciar manualmente el contenido.
No sé por qué esto no tiene efecto.
/*Remove empty paragraph tags from the_content*/
function removeEmptyParagraphs($content) {
/*$pattern = "/<p[^>]*><\\/p[^>]*>/";
$content = preg_replace($pattern, '', $content);*/
$content = str_replace("<p></p>","",$content);
return $content;
}
add_filter('the_content', 'removeEmptyParagraphs');
editar / actualizar:
Parece que el problema es este:
function qanda($content) {
// filters for [q=some question] and [a=some answer]
// wraps it inside of <div class="qanda"><div class="question"> </div><div class="answer"> </div></div>
$content = preg_replace('/\[q=(.+?)].+?\[a=(.+?)]/is', '<div class="qanda"><div class="question">$1</div><div class="answer">$2</div></div>', $content);
return $content;
}
add_filter('the_content', 'qanda');
Hice esta función para filtrar un tipo de patrón de código corto en mis publicaciones y páginas. Aunque en mi backend la publicación está completamente hecha sin párrafos y espacios innecesarios, el resultado se ve así:
<div class="entry">
<p></p>
<div class="qanda">...</div>
<p></p>
<p></p>
<div class="qanda">...</div>
<p></p>
<p></p>
<div class="qanda">...</div>
</div>
¿Alguna idea de dónde provienen estas p vacías?
wpautop
que sea una cosa, por ejemploadd_filter('the_content', 'qanda', 7 );
..Respuestas:
WordPress insertará
<p>
y</p>
etiquetará automáticamente los saltos de contenido separados dentro de una publicación o página. Si, por algún motivo, desea o necesita eliminarlos, puede usar cualquiera de los siguientes fragmentos de código.Para deshabilitar completamente el filtro wpautop, puede usar:
Si aún desea que esto funcione, intente agregar un valor de prioridad posterior a su filtro, como:
fuente
Tuve el mismo problema que tú. Acabo de hacer una ... digamos ... una solución no muy hermosa, pero funciona y hasta ahora es la única solución que tengo. Agregué una pequeña línea de JavaScript. Necesita jQuery, pero estoy seguro de que puede resolverlo sin él.
Este es mi pequeño JS:
Esto funciona para mi!
fuente
p:empty { display:none; }
<p></p>
pero no funciona<p>\n</p>
.Sé que esto ya está marcado como 'resuelto', pero solo como referencia, aquí hay una función que hace exactamente lo que desea sin tener que agregar ningún marcado a las publicaciones. Simplemente ponga esto en las funciones de su tema.php:
Esto es de esta esencia: https://gist.github.com/1668216
fuente
force_balance_tags
cuando se encuentra con el<
personaje en ciertas situaciones. Vea el boleto [9270] ( core.trac.wordpress.org/ticket/9270 ) para más detalles.Simplemente usa CSS
fuente
dentro de la etiqueta <p> esto no funcionará.Podrías ejecutar tu filtro antes de que ese desagradable
wpautop
enganche y se meta con el marcado.De esa manera, ya ha convertido lo que necesita para cuando se conecta, lo que ayuda en algunos casos.
fuente
El mismo enfoque que 2 respuestas antes que yo, pero una expresión regular actualizada, porque la suya no funcionó para mí.
la expresión regular:
/<p>(?:\s| )*?<\/p>/i
(grupo sin captura que busca cualquier número de espacios en blanco o
s dentro de la etiqueta p, sin distinción entre mayúsculas y minúsculas.fuente
Encontré esto extraño, pero en realidad llamar
the_content()
inserta párrafos de la manera que usted describe. Si desea el código html, básicamente como lo ingresó (lo mismo que "ver HTML" al editar), useget_the_content()
que devuelve el contenido sin formato ni etiquetas de párrafo.Como lo devuelve, asegúrese de usar algo como:
Ver también: http://codex.wordpress.org/Function_Reference/get_the_content
fuente
Esto eliminará de forma recursiva todas las etiquetas html vacías de la cadena
El patrón se toma de http://codesnap.blogspot.in/2011/04/recursively-remove-empty-html-tags.html
fuente
Si usted tiene
<p>
etiquetas con espacios en blanco en el contenido, vaya a su publicación o página y edítelo sin estilo visual.encontrará algunos
allí. Elimínelos y las<p>
etiquetas vacías desaparecerán.fuente
Para tener solo contenido html sin
podemos usar el siguiente bucle para colocar solo el html sin formatear la publicación o la páginafuente