Comment pourrais-je terminer la suppression de la ligne suivante sur une seule publication?
<p><span id="more-XXX"></span></p>
J'ai besoin de supprimer toute la balise span. Existe-t-il une autre option que preg_replace?
Comme indiqué dans la documentation , si l'attribut rapide <!--more-->
est utilisé dans un message pour désigner le point "coupure" du message à extraire, la balise the_content()
affichera uniquement l'extrait jusqu'au <!--more-->
point rapide sur les pages de post non-single/non-permalien.
WordPress ajoute <span id="more-' . $post->ID . '"></span>
au contenu dans ce cas. Comme il n'y a pas de contenu dans le <span>
( vérifiez le code ), vous pouvez facilement supprimer le <span>
en filtrant le contenu:
add_filter( 'the_content', function( $content ) {
return str_replace( '<span id="more-' . get_the_ID() . '"></span>', '', $content );
}
Notez que cela empêche le lien Lire plus de ne plus accéder à la zone où vous avez inséré <!--more-->
. Un moyen plus simple d’y parvenir serait d’utiliser le filtre the_content_more_link
et d’en supprimer la partie #more-<post_id>
. Il y a quelques exemples dans le Codex pour cela.