Eliminar wpautop de todas las publicaciones / páginas excepto mi tipo de publicación personalizada

4

Mi tema completo usa remove_filter( 'the_content', 'wpautop' ); que elimina las etiquetas p y las líneas se rompe de la salida de WYSIWYG. Tengo un tipo de publicación personalizado events que me gustaría devolver las etiquetas p y br de auto, pero SOLO en ese tipo de publicación personalizada. ¿Hay alguna manera de asegurarse de que el filtro no se elimine en events .

    
pregunta Taylor Foster 23.02.2017 - 19:49

2 respuestas

2

Puedes realizar una prueba condicional contra el tipo de publicación actual, como este:

if ( 'events' != get_post_type() ) {
    remove_filter( 'the_content', 'wpautop' );
}
    
respondido por el Manu 23.02.2017 - 20:51
2

La respuesta de @Manu probablemente funcionará para usted, pero fallará si tiene una consulta con eventos y publicaciones como post_type. O dos consultas diferentes en la misma página. La solución es verificar si cada publicación es del tipo de evento y agregar o eliminar el filtro en consecuencia.

add_action( 'the_post', 'wpse_257708_the_post', 10, 1 );
function wpse_257708_the_post( $post ) {
  if( 'events' === $post->post_type ) {
    add_filter( 'the_content', 'wpautop' );
  } else {
    remove_filter( 'the_content', 'wpautop' );
  }
}
    
respondido por el Nathan Johnson 23.02.2017 - 21:15

Lea otras preguntas en las etiquetas