recherche

Maison  >  Questions et réponses  >  le corps du texte

Utiliser des instructions conditionnelles au milieu de jointures : un guide

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粉164942791P粉164942791521 Il y a quelques jours704

répondre à tous(1)je répondrai

  • P粉704066087

    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;
    
    

    répondre
    0
  • Annulerrépondre