Maison > Questions et réponses > le corps du texte
J'ai donc trois variables $blue_tooltip_icon, $red_tooltip_icon et $gray_tooltip_icon. Maintenant, je souhaite afficher des variables spécifiques basées sur les attributs transmis au shortcode WordPress. Ainsi, si « bleu » est saisi, c'est $blue_tooltip_icon ; si « rouge » est saisi, c'est $red_tooltip_icon ; si « gris » est saisi, c'est $gray_tooltip_icon.
La question est de savoir comment résoudre ce problème. J'ai essayé d'utiliser des instructions if mais j'ai constaté que cela n'était pas possible en concaténation.
C'est ce que j'essaie d'afficher via le shortcode, l'icône de l'info-bulle change en fonction de la couleur saisie via l'attribut shortcode.
$message = '<span data-title="'.$atts['text'].'" class="tooltip">'.$content .$blue_tooltip_icon.'</span>';
P粉7040660872023-09-10 13:40:58
Je pense que cela vous aidera.
<?php // Cleaner way $blue_tooltip_icon = 'blue'; $red_tooltip_icon = 'red'; $green_tooltip_icon = 'green'; $atts['text'] = 'john'; $content = 'content'; $icons = [ 'blue' => $blue_tooltip_icon, 'red' => $red_tooltip_icon, 'green' => $green_tooltip_icon ]; $input = 'red'; //$message = '<span data-title="' . $atts['text'] . '" class="tooltip">' . $content . $icons[$input] . '</span>'; // Awkward style with ternary operator $input = 'green'; $message = '<span data-title="' . $atts['text'] . '" class="tooltip">' . $content . (($input == "red") ? $red_tooltip_icon : (($input == "blue") ? $blue_tooltip_icon : $green_tooltip_icon)) . '</span>'; echo $message;