Suppression des balises et dans les publications WordPress

Chaque fois que je publie du contenu dans la page WordPress, il affiche des balises de paragraphe comme

et
. Ce qui montre un espace supplémentaire dans la sortie. Alors, y a-t-il une solution? Comment supprimer toutes les balises?

Cela se produit à cause de wpautop de WordPress. Ajoutez simplement la ligne de code ci-dessous dans le fichier functions.php de votre thème

remove_filter( 'the_content', 'wpautop' );

remove_filter( 'the_excerpt', 'wpautop' );

Pour plus d’informations: http://codex.wordpress.org/Function_Reference/wpautop

Je ne recommanderais pas d’utiliser l’option remove_filter, car elle supprimera les balises et les balises partout où vous les appelez dans votre modèle.

Le meilleur moyen est de nettoyer votre chaîne via PHP

vous pouvez utiliser la fonction php ssortingp_tags pour supprimer les balises inutiles: echo ssortingp_tags(get_the_excerpt()); // Get the raw text excerpt from the current post echo ssortingp_tags(get_the_excerpt()); // Get the raw text excerpt from the current post

ou

echo ssortingp_tags(category_description()); // Get the raw text cat desc from the current cat page

Cela supprimera toutes les balises HTML du post wordpress actuel lors de son appel.

vous pouvez aussi append la fonction sortingm en cas de: echo sortingm(ssortingp_tags(get_the_excerpt())); // Get the raw text excerpt from the current post echo sortingm(ssortingp_tags(get_the_excerpt())); // Get the raw text excerpt from the current post

ou

echo sortingm(ssortingp_tags(category_description())); // Get the raw text cat desc from the current cat page

Ceci est parfait pour obtenir du texte brut pour meta = “description” et le titre où les balises HTML ne sont pas recommandées.

J’espère que cela aide

essaye ça

 $my_postid = $post->ID; $content_post = get_post($my_postid); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = ssortingp_tags($content, '


'); echo $content;

La suppression du filtre wpautop n’est pas la solution la plus flexible. Si vous recherchez une solution page par page, ou post par courrier, vous pouvez utiliser ce plugin:

https://wordpress.org/plugins/dont-muck-my-markup/

Il appenda une case à cocher sur chaque article / page pour que vous puissiez choisir si le comportement core-Wordpress sera désactivé pour cette page particulière ou non.

Ceci est particulièrement utile lorsque vous souhaitez publier du code HTML et les fichiers générés automatiquement et

gâcher votre conception soigneusement conçue.

Le plug-in a également une option globale afin que vous puissiez désactiver ce comportement par défaut sur toutes les pages / publications.

Un autre plug-in est https://wordpress.org/plugins/preserve-code-formatting/ mais j’ai seulement essayé celui que j’ai décrit.

Utilisez ce code pour supprimer

avant l’initialisation de l’éditeur.

 function tinymce_remove_root_block_tag( $init ) { $init['forced_root_block'] = false; return $init; } add_filter( 'tiny_mce_before_init', 'tinymce_remove_root_block_tag' ); 

utilisez $ editor = wp_filter_nohtml_kses ($ _ POST [‘editor1’]);

La réponse acceptée ici ne fonctionnant pas pour moi dans WP 4.8.1, je publie une solution de contournement qui a fonctionné pour moi. Je devais juste append une classe au p et WordPress ne le supprimera pas.

 

Parfois, la suppression de la fonction wpautop de WordPress dans le fichier functions.php de votre thème ne fonctionne pas (pour certaines raisons).

J’ai donc une autre solution sur la façon de cesser de supprimer des balises
ou des sauts de ligne doubles (

).

  1. Apportez des modifications à votre fichier /wp-content/themes/your_theme_name/functions.php

Ajoutez 2 lignes en haut de vos fonctions.

 remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop'); 

Cela désactive wpautopop fonction wpautopop .

  1. /wp-includes/formatting.php fichier /wp-includes/formatting.php dans la fonction wpautop .

    A) Changez la function wpautop( $pee, $br = true) pour qu’elle function wpautop( $pee, $br = false) .

    Cela désactivera wpautopop fonction wpautopop de tous les endroits.

    B) Modifier $pee = preg_replace('|\s*|', "\n\n", $pee); à

     $pee1 = $pee; $pee = preg_replace('|\s*|', "\n\n", $pee); $pee = $pee1; 

    Cela empêchera le système de supprimer les balises doubles. (Je sais que le code est étrange mais simple //$pee n’aide pas ici à cause de ?> Tag).

    C) Modifier $pee = preg_replace("/\n\n+/", "\n\n", $pee); à //$pee = preg_replace("/\n\n+/", "\n\n", $pee);

    Cela empêchera le système de supprimer plusieurs sauts de ligne.

    D) Changer ceci:

     $pee = preg_replace('!

    \s*(]*>)!', "$1", $pee);

    pour que:

     //$pee = preg_replace('!

    \s*(]*>)!', "$1", $pee);

    Cela empêchera le système de supprimer les sauts de ligne après l’ouverture ou avant la balise d’élément de bloc de fermeture comme

    ,

    , etc.

    E) Changer ceci:

     $pee = preg_replace('!(]*>)\s*!', "$1", $pee); 

    pour que:

     //$pee = preg_replace('!(]*>)\s*!', "$1", $pee); 

    Assez pareil: Cela empêchera le système de supprimer les sauts de ligne après l’ouverture ou avant la balise d’élément de bloc de fermeture comme

    ,

    , etc.

    F) Changer ceci:

     $pee = preg_replace('!
    (\s*]*>)!', '$1', $pee);

    pour que:

     // $pee = preg_replace('!
    (\s*]*>)!', '$1', $pee);

    Cela empêchera le système de supprimer
    à la fin du bloc.

    G) Changer ceci:

     $pee = preg_replace('!(]*>)\s*
    !', "$1", $pee);

    pour que:

     //$pee = preg_replace('!(]*>)\s*
    !', "$1", $pee);

    Cela empêchera le système de supprimer
    après une étiquette de bloc d’ouverture ou de fermeture.

J’espère que ça va aider! Et lisez les commentaires dans ce fichier – ils vous aideront à comprendre ce que vous devez activer ou désactiver.