WordPress : Comment formater différemment la première ligne d’un article ?

Publié par Jean-Michel le

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.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *