web-dev-qa-db-fra.com

Méthode toujours pertinente d’incorporation d’images dans WP Thème en 2018

<img src="<?php echo get_bloginfo('template_url') ?>/images/logo.png"/>

Ce qui précède est-il toujours une méthode pertinente pour incorporer des images dans le thème Wordpress ou est-il obsolète?

Si obsolète, quelle sera la bonne méthode?

quelqu'un m'a demandé aujourd'hui que je ne le fais pas correctement?

1
The WP Novice

quelqu'un m'a demandé aujourd'hui que je ne le fais pas correctement?

<?php echo get_bloginfo('template_url') ?>/images/logo.png

Cela peut être considéré comme "incorrect" pour deux raisons:

  • get_bloginfo est une très ancienne fonction qui fait plusieurs choses, cette fonction particulière a été remplacée par get_template_directory_uri et get_stylesheet_directory_uri
  • Sécurité! Tu n'as échappé à rien! Le tout doit être emballé dans un esc_url
1
Tom J Nowell

En raison du nom spécifique que vous utilisez pour l'image, il peut être considéré comme obsolète en raison du fait que, depuis la version 4.5 IIRC, un paramètre de personnalisation permet à l'utilisateur de télécharger une "image de site" qui est généralement utilisée comme logo.

D'un point de vue plus HTML et Web sémantique, ce code est (et a toujours été erroné) car le logo lui-même est une image vide de sens (c'est pourquoi il est peu probable que vous ajoutiez un attribut alt) et qu'il s'agisse donc d'un décor. qui appartiennent à CSS, soit dans un fichier CSS, soit définis comme image d'arrière-plan d'un élément de lien si vous laissez l'utilisateur le contrôler.

1
Mark Kaplun

Outre l'utilisation des fonctions ci-dessus, il existe une fonction spécialement conçue pour obtenir les dépendances du thème. En utilisant get_theme_file_uri() , vous pouvez obtenir l'URL de n'importe quel fichier inclus dans le dossier de votre thème.

Voici un exemple:

<img src="<?php echo esc_url ( get_theme_file_uri( 'images/logo.png' ) ); ?>"/>

Il recherchera automatiquement logo.png et renverra son URI s'il existe. Cette fonction utilise get_template_directory_uri en interne.

1
Jack Johansson

J'utilise encore ceci:

<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png" width="" height="" alt="" />

Ce qui fonctionne bien.

1
Plamen Georgiev