WordPress : Utiliser esc_url avec une URL codée en dur

Publié par Jean-Michel le

J’ai ajouté l’URL suivante dans mon thème, mais j’ai été informé que je dois utiliser esc_url(). Je ne pouvais pas comprendre, comment puis-je utiliser cette fonction avec le code suivant ?

<a href="http://pinterest.com/pin/create/button/?url=<?php echo urlencode( get_the_permalink() ); ?>&amp;media=<?php echo urlencode($thumbnail); ?>&amp;description=<?php echo urlencode( get_the_title() ); ?>" target="_blank">Pinterest</a>

Solution n°1 trouvée

Je pense que tu en as besoin. Par exemple, vous utilisez le titre dans une URL et vous obtenez le titre dynamiquement ; vous ne savez donc jamais exactement si le titre est valide pour être utilisé dans l’URL ou non. Donc, il vaut mieux l’utiliser.

Juste un exemple : il est très courant que les titres contiennent des espaces blancs et les espaces blancs doivent être encodés pour être utilisés dans les URL.

Je construirais d’abord la chaîne d’URL complète, puis je l’utiliserais esc_url()au moment où elle est utilisée pour une valeur d’attribut.

$url_params = array(
    'url'         => get_the_permalink(),
    'media'       => $thumbnail,
    'description' => get_the_title()
);

$url = "http://pinterest.com/pin/create/button/?" . http_build_query( $url_params );

echo '<a href="' . esc_url( $url ) . '">Pinterest</a>';

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 *