Care este cea mai bună metodă de a include imagini din folderul de imagini al șablonului în WordPress?
Care este cea mai bună metodă de a include imagini din folderul de imagini al șablonului? Este mai bine să folosești get_bloginfo('template_url')
? Am înțeles că ar fi mai eficient să hard-codezi calea către folderul de imagini pentru a evita apelurile de funcții în PHP..
Ce părere aveți?
Am înțeles că este mai bine să hardcodezi calea către folderul cu imagini, deoarece în acest fel economisești apeluri de funcții în PHP..
Cu siguranță nu m-aș îngrijora de apelurile de funcții, cache-ul obiect din WordPress se va ocupa de toate aceste aspecte. Ai putea defini calea ca o constantă dacă ai vrea, dar personal nu m-aș deranja.
Aș face pur și simplu:
<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />
am editat asta în
<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" />
(varianta de mai sus generează erori)

Cea mai ușoară și simplă metodă de a face acest lucru este să definiți o variabilă unică în fișierul functions.php
al temei dumneavoastră.
De exemplu:
<?php
$theme_name_images = get_bloginfo('stylesheet_directory') . '/images/';
?>
Nu este nevoie de clase, așa cum a sugerat un răspuns anterior.
EDIT: Ar trebui să folosiți get_bloginfo, în loc de bloginfo(), așa cum a menționat Viper007Bond.

adevărat, dar este cea mai simplă. Nu am spus niciodată că este cea mai curată metodă de a face asta.

Da, dar încurcarea namespace-ului global este o problemă doar dacă nu folosește o convenție bună de denumire a variabilelor. De exemplu, ar putea folosi amits_stylesheet_directory și amits_template_url sau în loc de "amits" ar putea folosi numele clientului.

@Amit: Depinde. Majoritatea apelurilor de funcții sunt destul de rapide în PHP, așa că dacă te preocupa performanța, nu m-aș îngrijora prea mult. Totuși, înțeleg sentimentul când vezi toate acele apeluri. Cu toate acestea, nu aș dori niciodată să hardcodez căile.
Dacă vei folosi get_bloginfo('template_url')
de multe ori în tema ta, de ce nu iți atribui o variabilă globală în fișierul functions.php
și apoi să o referențiezi oriunde ai folosi în mod normal apelul funcției? Asigură-te că o numești ceva puțin probabil să intre în conflict, cum ar fi amits_template_url
. Deci, fă asta în functions.php
:
global $amits_template_url;
$amits_template_url = get_bloginfo('template_url');
Apoi, în tema ta, referențiază variabila oriunde ai fi folosit get_bloginfo('template_url')
.

Ei bine, depinde de ce fel de dezvoltare faci. Dacă lucrezi la dezvoltarea de plugin-uri, trebuie să folosești funcțiile pentru că nu vei ști niciodată cu siguranță care va fi structura URL-urilor. Dacă lucrezi la un proiect specific pentru un anumit website, din punct de vedere tehnic este acceptabil să folosești valori hardcodate, dar acest lucru este totuși nerecomandat, deoarece exclude posibilitatea ca structura URL-urilor să se poată schimba vreodată.
Ori de câte ori dezvolt plugin-uri sau teme, structuraz programul într-o clasă; în acest fel, pot salva valori repetitive ca proprietăți ale obiectului (de exemplu, URL-ul WP și template_url). Astfel, le pot folosi rapid fără a apela funcțiile în mod repetat.
