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 $patternla variable car cette regex peut être très pauvre. dans la custom_formatterfonction, vous pouvez faire les mises en forme que vous voulez.
0 commentaire