WordPress shortcode et do_action

Dans cet article, nous allons voir comment peut-on utiliser do_action dans un shortcode,  des  fois  au sein d’un short code, on veut  faire appeler à une autre fonction, le cas de do_action qui affiche le contenu, cependant le shortcode  construit une variable  qui sera affiché à la fin, et on se retrouve avec un affichage du contenu appelé via do_action  avant le contenu du shortcode

Exemple :

function testShortCode($atts) 
{
$output	= '';
$output .= 'Début ShortCode';
 do_action('testaction');
$output .= 'Fin ShortCode';
return $output;
}
function displaytexte() 
{
  echo 'Text from action display text';
}

Avec cet exemple, vous aurez comme affichage

shortcode

Pour éviter cet affichage, nous devons  garder le contenu retournée depuis le do_action dans un tampon de sortie

function testShortCode($atts) 
{
  $output = '';
  $output .= 'Début ShortCode';
  ob_start(); 
  do_action('testaction'); 
  $output .= ob_get_contents(); 
  ob_end_clean(); 
  $output .= 'Fin ShortCode'; 
  return $output; 
}

Maintenant vous aurez ce que vous voulez faire auparavant

short_code_correct