remove_filter('the_content', 'wpautop') no funciona

12 ene 2011, 14:42:45
Vistas: 14K
Votos: 2

He intentado desactivar el auto-párrafo de WP usando

remove_filter ('the_content', 'wpautop');

pero sigo obteniendo mi contenido envuelto en etiquetas <p> automáticas... ¿Qué estoy haciendo mal?

Está al final de un archivo de funciones. No está en functions.php, sino en un archivo que functions.php incluye (y ponerlo en functions.php no cambia el comportamiento).

Actualización: var_dump( $wp_filter['the_content'] ); devuelve NULL. ¿Cómo puedo probar por qué este filtro no se está ejecutando?

0
Todas las respuestas a la pregunta 4
0

Si estás utilizando el plugin TinyMCE Advanced, intenta desmarcar esta opción avanzada:

Dejar de eliminar las etiquetas <p> y <br /> al guardar y mostrarlas en el editor HTML

Desmarcar eso y usar el código remove_filter ('the_content', 'wpautop'); en mi archivo functions.php funcionó para mí.

11 jul 2011 23:04:34
14

Tu código es absolutamente correcto. Puedes probar este fragmento en la plantilla para asegurarte de que se está eliminando:

var_dump( $wp_filter['the_content'] );

Si no es así, puede ser que el código nunca llegue a tu eliminación del filtro (por ejemplo, un return antes de él) o que el filtro se vuelva a añadir más tarde por algún otro código.

12 ene 2011 15:52:02
Comentarios

o intenta cambiar la prioridad del filtro, por defecto es 10

onetrickpony onetrickpony
12 ene 2011 16:08:48

@Ambitious Amoeba no estoy seguro de lo que quieres decir? La prioridad debe coincidir exactamente para que remove_filter() funcione.

Rarst Rarst
12 ene 2011 16:17:35

sí, pero si añades un filtro con prioridad 20, ¿no deberías eliminarlo con la misma prioridad? quizás autop se añade con una prioridad diferente...

onetrickpony onetrickpony
12 ene 2011 16:36:15

@Ambitious Amoeba He revisado el código fuente y probado, se añade sin prioridad especificada así que por defecto es así.

Rarst Rarst
12 ene 2011 16:43:25

var_dump( $wp_filter['the_content'] ); devuelve NULL. He intentado buscar con grep wpautop pero aparentemente ninguno de los archivos php en wp-content lo contiene, aparte de mi línea de código.

gillespieza gillespieza
12 ene 2011 21:13:59

@Amanda Si llamas a esa línea dentro de alguna función no olvides hacer global $wp_filter;. wpautop se configura en wp-includes\default-filters.php.

Rarst Rarst
12 ene 2011 21:16:23

@Rarst - Puse el var_dump dentro de header.php, justo después de la salida del menú...

gillespieza gillespieza
12 ene 2011 21:20:04

@Rarst - rayos, lo tenía fuera del loop. Devuelve un montón de cosas... incluyendo shortcode_unautop pero nada más que pudiera ver sobre autop

gillespieza gillespieza
12 ene 2011 21:37:37

¿Probaste bajando la prioridad de 10 (valor por defecto) a 1 como sugirió One Trick Pony?

editor editor
7 feb 2011 18:49:57

Elimina shortcode_unautop, yo mismo he tenido este problema, es el preg_replace en ese filtro el que devolverá NULL debido a un error.

Backie Backie
7 feb 2011 20:30:00

Estoy de acuerdo con quienes sugieren cambiar la prioridad del filtro. Auméntala a 11, o 20, o incluso 99, solo para ver si la prioridad es de hecho el problema.

Chip Bennett Chip Bennett
8 abr 2011 21:06:19

Intenté remove_filter ('the_content', 'wpautop', 99); y remove_filter ('the_content', 'wpautop', 1); - sin cambios.

gillespieza gillespieza
13 abr 2011 14:21:12

@Backie agregó remove_filter ('the_content', 'wpautop'); remove_filter ('the_content', 'shortcode_unautop'); - sin cambios. Probé ambos con prioridades 1 y 99 - sin cambios.

gillespieza gillespieza
13 abr 2011 14:36:23

Nada de esto funciona para mí. Esto es intensamente frustrante. Necesito no tener etiquetas <p> alrededor de scripts generados dinámicamente por un shortcode y que por lo tanto no se pueden encolar. M$%&·$# WordPress, ¡deja de cambiar mi código! ¿Por qué es tan difícil simplemente decir: "Oye, ¡yo soy el programador, no tú! ¡No crees código, *yo* lo haré!"

John Smith John Smith
17 mar 2024 06:23:39
Mostrar los 9 comentarios restantes
1

Tuve el mismo problema, lo solucioné con CSS:

<style>
p:empty{
  height: 0;
  margin: 0;
  padding: 0;
}
</style>
17 abr 2018 20:51:46
Comentarios

Esto no "soluciona el problema" cuando tienes bloques de CSS o JS en el código, etc. Esta no es una solución, es un parche temporal.

Sean Kendle Sean Kendle
22 ago 2023 16:53:43
1

Mi problema surgió mientras desarrollaba un shortcode. Créditos a Samuel Wood. Mira su consejo aquí:

Ah, y si estás insertando shortcodes, usa un bloque de shortcode en lugar de escribirlos en un bloque P. Así no tendrás etiquetas P envolventes.

https://wordpress.org/support/topic/wpautop-not-working-on-wp_editor/

2 sept 2021 17:43:50
Comentarios

Entonces, para aquellos de nosotros que no usamos bloques.... ???

John Smith John Smith
17 mar 2024 06:22:10