web-dev-qa-db-fra.com

Ajouter une classe à un paragraphe spécifique de the_content ()

Supposons que je veuille donner au premier paragraphe du texte en gras en ajoutant une classe de corps au premier paragraphe. Est-il possible de filtrer la sortie de

the_content();

ou tout autre paragraphe? Premier paragraphe? Dernier paragraphe?

Je sais que je peux le faire en utilisant Javascript ou CSS (: firstchild), mais existe-t-il une méthode WordPress native?

Merci.

J

2
jw60660

Le bit de code suivant ajoute une classe à la sortie du premier paragraphe par the_content:

function first_paragraph($content){
    return preg_replace('/<p([^>]+)?>/', '<p$1 class="intro">', $content, 1);
}
add_filter('the_content', 'first_paragraph');

Ajoutez ce qui précède au fichier functions.php de votre thème.

Ensuite, dans votre CSS, ajoutez quelque chose comme:

p.intro { font-weight:bold; }

Je ne peux pas réclamer de crédit pour cette solution (voir ce fil dans les WP forums)], mais je l’ai testée et cela a très bien fonctionné pour moi dans WordPress 3.3.2. Vous devriez pouvoir le modifier au besoin pour cibler le paragraphe de votre choix.

5
Ryan