WordPress : Comment formater différemment la première ligne d’un article ?
J’aimerais que le premier paragraphe/phrase de mes messages dans leur page single.php soit stylisé différemment – disons… gras.
Comment puis-je faire cela de la manière la plus efficace ?
Solution n°1 trouvée
Au final, voici la fonction qui a fonctionné pour moi:
add_filter('the_content', 'first_line_bold');
function first_line_bold($content)
{
if (!is_page()) {
$pattern = "/<p.*?>([^`]*?)</p>/";
$match = "<span style="font-weight:bold;font-size:16px;">$1</span>";
$content = preg_replace($pattern, $match, $content, 1);
return $content;
}
}
Solution n°2 trouvée
Voici l’idée
add_filter('the_content', 'testfunc');
function custom_formatter($matches){
return "<strong>{$matches[0]}</strong>";
}
function testfunc($content)
{
$pattern = "$<p.*>(.*)</p>$";
$content = preg_replace_callback($pattern, 'custom_formatter', $content);
return $content;
}
Cependant, vous aurez besoin d’une meilleure expression régulière dans $pattern
la variable car cette regex peut être très pauvre. dans la custom_formatter
fonction, vous pouvez faire les mises en forme que vous voulez.
0 commentaire