it-swarm-es.com

¿Cuál es la mejor manera de incluir imágenes de la carpeta de imágenes de la plantilla?

¿Cuál es la mejor manera de incluir imágenes de la carpeta de imágenes de la plantilla? es usando get_bloginfo('template_url')? Entendí que es mejor codificar la ruta de acceso a la carpeta de imágenes, ya que de esta manera se guardan las llamadas de función en PHP.

¿Alguna idea?

5
Amit

La forma más fácil y sencilla de hacerlo es definir una variable única en el archivo functions.php de su tema.

Como:

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

No hay necesidad de clases como respuesta previa sugerida.

EDITAR: Debe ser get_bloginfo, en lugar de bloginfo (), como Viper007Bond amablemente señaló.

6
john010117

Entendí que es mejor codificar la ruta de acceso a la carpeta de imágenes, ya que de esta manera se guardan las llamadas de función en PHP.

Definitivamente no me preocuparía por las llamadas de función, el caché de objetos de WordPress manejará todo ese material por ti. Podrías definir el camino como una constante si quisieras, pero generalmente no me molestaría.

Yo solo haría:

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

edité esto para

<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" /> (lo anterior da errores)

7
Joe Hoyle

@Amitir: depende La mayoría de las llamadas a funciones son bastante rápidas en PHP así que si buscas rendimiento, no me preocuparía demasiado. Sin embargo sé cómo te sientes al ver todas esas llamadas. Sin embargo, nunca querría los códigos de ruta.

Si va a utilizar get_bloginfo('template_url') muchas veces en su tema, ¿por qué no lo asigna a una variable global en su archivo functions.php y luego hace referencia a él en todos los lugares en los que normalmente hace referencia a la llamada de función? Asegúrese de nombrarlo como algo poco probable de conflicto, como amits_template_url. Entonces haz esto en functions.php:

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

Y luego, en su tema, consúltelo en cualquier lugar donde haya hecho referencia a get_bloginfo('template_url').

2
MikeSchinkel

Solo vincule sus archivos de imagen desde su archivo CSS, eso significa que puede usar la ruta relativa desde el archivo CSS a las imágenes. Esta es una solución solo para CSS. No PHP código necesario. El trabajo lo realiza el navegador.

0
hakre

Bueno, depende de qué tipo de desarrollo estés haciendo. Si está realizando el desarrollo de complementos, necesita usar las funciones porque nunca sabrá con seguridad cuál será la estructura de url. Si está realizando un trabajo específico en un sitio web específico, es técnicamente correcto codificarlo por hardware, pero aún así no es aconsejable, ya que excluye la posibilidad de que la estructura de la URL pueda cambiar.

Cada vez que desarrollo complementos o temas, estructuro el programa en una clase; de esa manera, puedo guardar valores repetitivos como propiedades del objeto (por ejemplo, WP URL y template_url). De esa manera puedo usarlos rápidamente sin tener que llamar a las funciones repetidamente.

0
John P Bloch