Supprimer wpautop de tous les articles / pages sauf mon type d'article personnalisé

4

Tout mon thème utilise remove_filter( 'the_content', 'wpautop' ); qui supprime les balises p et les sauts de lignes de la sortie du WYSIWYG. J'ai un type de message personnalisé events pour lequel je voudrais ramener les balises p automatique et les balises br, mais JUSTE sur ce type de message personnalisé. Existe-t-il un moyen de s’assurer que ce filtre n’est pas supprimé sur events .

    
posée Taylor Foster 23.02.2017 - 19:49

2 réponses

2

Vous pouvez effectuer un test conditionnel sur le type de publication actuel, comme suit:

if ( 'events' != get_post_type() ) {
    remove_filter( 'the_content', 'wpautop' );
}
    
réponse donnée Manu 23.02.2017 - 20:51
2

La réponse de @Manu fonctionnera probablement pour vous, mais elle échouera si vous avez une requête avec des événements et des publications en tant que post_type. Ou deux requêtes différentes sur la même page. La solution consiste à vérifier si chaque message est du type événements et à ajouter ou supprimer le filtre en conséquence.

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' );
  }
}
    
réponse donnée Nathan Johnson 23.02.2017 - 21:15

Lire d'autres questions sur les étiquettes