web-dev-qa-db-fra.com

quel est le meilleur moyen d'inclure des images à partir du dossier images du modèle?

quel est le meilleur moyen d'inclure des images à partir du dossier images du modèle? est-ce en utilisant get_bloginfo('template_url')? J'ai compris qu'il valait mieux coder en dur le chemin d'accès au dossier des images, car vous économiserez ainsi les appels de fonction en PHP.

des pensées?

5
Amit

Le moyen le plus simple et le plus simple de le faire est de définir une variable unique dans le fichier functions.php de votre thème.

Tel que:

<?php
$theme_name_images = get_bloginfo('stylesheet_directory') . '/images/';
?>

Pas besoin de cours comme une réponse précédente suggérée.

EDIT: Cela devrait être get_bloginfo, à la place de bloginfo (), comme l’a aimablement signalé Viper007Bond.

6
john010117

J'ai compris qu'il valait mieux coder en dur le chemin d'accès au dossier des images, car vous économiserez ainsi les appels de fonction en PHP.

Je ne m'inquiéterais certainement pas des appels de fonction, le cache d'objets de WordPress gérera tout ce cache pour vous. Vous pouvez définir le chemin comme une constante si vous le souhaitez, mais généralement, cela ne me dérangerait pas.

Je voudrais juste faire:

<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />

je l'ai édité pour

<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" /> (ce qui précède donne des erreurs)

7
Joe Hoyle

@Amit: Cela dépend. La plupart des appels de fonctions sont assez rapides dans PHP, donc si vous recherchez des performances, je ne m'en inquiéterais pas trop. Cependant, je sais ce que vous ressentez en voyant tous ces appels. Malgré tout, je ne voudrais jamais coder en dur les chemins.

Si vous comptez utiliser get_bloginfo('template_url') plusieurs fois dans votre thème, pourquoi ne pas l'affecter à une variable globale de votre fichier functions.php, puis la référencer partout où vous feriez normalement référence à l'appel de fonction? Assurez-vous de lui donner un nom peu susceptible d'entrer en conflit, tel que amits_template_url. Donc, faites ceci dans functions.php:

global $amits_template_url;
$amits_template_url = get_bloginfo('template_url');

Et ensuite, dans votre thème, faites référence à get_bloginfo('template_url') partout où vous auriez fait référence.

2
MikeSchinkel

Liez simplement vos fichiers image à partir de votre fichier CSS, cela signifie que vous pouvez utiliser le chemin relatif du fichier CSS aux images. Ceci est une solution uniquement CSS. Aucun code PHP requis. Le travail est fait par le navigateur.

0
hakre

Cela dépend du type de développement que vous faites. Si vous développez des plugins, vous devez utiliser les fonctions car vous ne saurez jamais avec certitude quelle sera la structure de l'URL. Si vous effectuez un travail spécifique sur un site Web spécifique, il est techniquement correct de le coder en dur, mais cela reste déconseillé, car cela exclut la possibilité que la structure de l'URL puisse changer.

Chaque fois que je développe des plugins ou des thèmes, je structure le programme en classe; De cette manière, je peux enregistrer des valeurs répétitives en tant que propriétés de l'objet (par exemple, WP URL et template_url). De cette façon, je peux les utiliser rapidement sans appeler les fonctions à plusieurs reprises.

0
John P Bloch