it-swarm.dev

wie können Bilder aus dem Bilderordner der Vorlage am besten eingebunden werden?

wie können Bilder aus dem Bilderordner der Vorlage am besten eingebunden werden? ist es mit get_bloginfo('template_url')? Ich habe verstanden, dass es besser ist, den Pfad zum Bilderordner fest zu codieren, da Sie auf diese Weise Funktionsaufrufe in PHP speichern.

irgendwelche Gedanken?

5
Amit

Der einfachste und einfachste Weg, dies zu tun, besteht darin, eine eindeutige Variable in der functions.php-Datei Ihres Themas zu definieren.

Sowie:

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

Keine Notwendigkeit für Klassen, wie eine vorherige Antwort nahe legt.

EDIT: Es sollte get_bloginfo anstelle von bloginfo () laut Viper007Bond sein.

6
john010117

Ich habe verstanden, dass es besser ist, den Pfad zum Bilderordner fest zu codieren, da Sie auf diese Weise Funktionsaufrufe in PHP speichern.

Ich würde mir definitiv keine Sorgen um Funktionsaufrufe machen, der Objekt-Cache von WordPress wird all das für Sie erledigen. Sie könnten den Pfad als Konstante definieren, wenn Sie möchten, aber ich würde mich im Allgemeinen nicht darum kümmern.

Ich würde einfach tun:

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

ich habe das zu bearbeitet

<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" /> (die oben genannten gibt Fehler)

7
Joe Hoyle

@Amit: Es kommt darauf an. Die meisten Funktionsaufrufe sind in PHP ziemlich schnell. Wenn Sie also nach Leistung suchen, würde ich mir darüber keine Sorgen machen. Ich weiß jedoch, wie Sie sich fühlen, wenn Sie all diese Anrufe sehen. Trotzdem würde ich niemals Pfade fest programmieren wollen.

Wenn Sie get_bloginfo('template_url') in Ihrem Thema häufig verwenden, weisen Sie es dann einer globalen Variablen in Ihrer functions.php -Datei zu und verweisen Sie dort, wo Sie normalerweise auf den Funktionsaufruf verweisen würden. Vergewissern Sie sich, dass Sie einen unwahrscheinlichen Konflikt wie amits_template_url angeben. Also mach das in functions.php:

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

Und dann, wenn Sie in Ihrem Thema darauf verweisen, hätten Sie überall auf get_bloginfo('template_url') verwiesen.

2
MikeSchinkel

Verknüpfen Sie einfach Ihre Bilddateien mit Ihrer CSS-Datei, dh Sie können den relativen Pfad von der CSS-Datei zu den Bildern verwenden. Dies ist eine reine CSS-Lösung. Kein PHP Code erforderlich. Die Arbeit erledigt der Browser.

0
hakre

Nun, es hängt davon ab, welche Art von Entwicklung Sie machen. Wenn Sie Plugins entwickeln, müssen Sie die Funktionen verwenden, da Sie nie genau wissen, wie die URL-Struktur aussehen wird. Wenn Sie bestimmte Arbeiten an einer bestimmten Website ausführen, ist es technisch in Ordnung, sie fest zu codieren. Dies ist jedoch immer noch nicht ratsam, da die Möglichkeit ausgeschlossen ist, dass sich die URL-Struktur jemals ändert.

Immer wenn ich Plugins oder Themes entwickle, strukturiere ich das Programm in einer Klasse. Auf diese Weise kann ich sich wiederholende Werte als Eigenschaften des Objekts speichern (z. B. WP URL und template_url). Auf diese Weise kann ich sie schnell verwenden, ohne die Funktionen wiederholt aufzurufen.

0
John P Bloch