как лучше всего включить изображения из папки изображений шаблона? это с помощью get_bloginfo('template_url')
? Я понял, что лучше жестко указать путь к папке с изображениями, так как таким образом вы сохраняете вызовы функций в PHP.
Есть предположения?
Самый простой и простой способ сделать это — определить уникальную переменную в
functions.php
файле вашей темы.Такие как:
Нет необходимости в классах, как предлагалось в предыдущем ответе.
РЕДАКТИРОВАТЬ: это должно быть get_bloginfo вместо bloginfo(), как любезно указал Viper007Bond.
Но это может запутать глобальное пространство имен.
верно, но это самое простое. Я никогда не говорил, что это самый чистый способ сделать это.
Да, но запутывание глобального пространства имен является проблемой только в том случае, если он не использует хорошее соглашение об именах для своих переменных. Например, он мог использовать amits_stylesheet_directory и amits_template_url или вместо «amits» использовать имя клиента.
эхо. Вы хотите
get_bloginfo()
, что возвращается.@ Viper007Bond — Спасибо. Я исправил свой пост.
Всего пара замечаний: во-первых, я бы использовал
get_stylesheet_directory_uri()
вместоbloginfo( 'stylesheet_directory' )
; во-вторых, если изображение не предназначено для переопределения дочерней темой, я бы использовалget_template_directory_uri()
.Мое намерение заключалось в разработке конкретной темы для конкретного клиента (не «распространяемой» темы), не могли бы вы привести пример кода для такого класса, пожалуйста?
Я определенно не стал бы беспокоиться о вызовах функций, кеш объектов WordPress будет обрабатывать кеширование всего этого за вас. Вы можете определить путь как константу, если хотите, но обычно я бы не стал заморачиваться.
Я бы просто сделал:
<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />
я отредактировал это на
<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" />
(выше дает ошибки)@Амит: это зависит. Большинство вызовов функций в PHP довольно быстрые, поэтому, если вам нужна производительность, я бы не стал слишком беспокоиться об этом. Однако я знаю, что ты чувствуешь, видя все эти звонки. Тем не менее, я бы никогда не хотел жестко кодировать пути.
Если вы собираетесь использовать
get_bloginfo('template_url')
много раз в своей теме, почему бы не назначить ее глобальной переменной в вашемfunctions.php
файле, а затем ссылаться на нее везде, где вы обычно ссылаетесь на вызов функции? Обязательно назовите его чем-то, что вряд ли будет конфликтовать, например,amits_template_url
. Итак, сделайте это вfunctions.php
:И затем в вашей теме ссылайтесь на него везде, где вы бы ссылались
get_bloginfo('template_url')
.Ну, это зависит от того, какую разработку вы делаете. Если вы занимаетесь разработкой плагинов, вам нужно использовать функции, потому что вы никогда не будете знать наверняка, какой будет структура URL-адреса. Если вы выполняете определенную работу на конкретном веб-сайте, технически можно жестко закодировать ее, но это все же нецелесообразно, поскольку исключает возможность изменения структуры URL-адреса.
Всякий раз, когда я разрабатываю плагины или темы, я структурирую программу по классам; таким образом я могу сохранять повторяющиеся значения как свойства объекта (например, WP URL и template_url). Таким образом, я могу использовать их быстро, не вызывая повторно функции.
Просто свяжите свои файлы изображений с файлом CSS, это означает, что вы можете использовать относительный путь от файла CSS к изображениям. Это решение только для CSS. Код PHP не требуется. Работа выполняется браузером.