web-dev-qa-db-fra.com

Placer du HTML brut dans un shortcode WordPress

Mon shortcode:

function fullwidthFunc($atts, $content = null) {
    $atts = shortcode_atts(array(
        "backcolor" => 'transparent',
        "backimgurl" => '',
        "color" => 'black',
        "padding" => '50px 10%'
    ), $atts);
    return '<div class="pr-fullwidth-row pr-row" style="background-color: '.esc_attr($atts['backcolor']).'; background-image: url(\''.esc_attr($atts['backimgurl']).'\'); color: '.esc_attr($atts['color']).'; padding: '.esc_attr($atts['padding']).';">'.$content.'</div>';
}
add_shortcode( 'fullwidth', 'fullwidthFunc' );

Lorsque je saisis du texte brut (c.-à-d. [fullwidth]This is a test[/fullwidth]), tout fonctionne correctement. Mais lorsque je saisis HTML (c.-à-d. [fullwidth]<h1>This is a test</h1>[/fullwidth]), le résultat est affiché sous forme de texte brut avec les balises <h1> affichées. Autre que cela, le shortcode entier fonctionne bien.

Comment faire pour que le HTML soit traité en HTML?

1
T. Hinton

Pour avoir le commentaire de @ Milo comme réponse. Votre code fonctionne comme il se doit, il n’est tout simplement pas possible d’écrire du code HTML dans l’éditeur visuel également en code court. Les shorcodes ne sont pas traités différemment de tout autre texte.

Si vous voulez du HTML formaté dans votre shortcode, il vous suffit d'utiliser les outils de formatage de l'éditeur visuel habituel ou de passer à l'éditeur de texte.

3
Mark Kaplun