Я пытаюсь отобразить случайно выбранное фоновое изображение на сайте WordPress. Моя стратегия заключается в том, чтобы встроить атрибут style
элемента <html>
, например:
<html style="background:#e8e6da url(<?php
$bg_imgs = glob(get_template_directory().'/backgrounds/*.jpg');
shuffle($bg_imgs);
echo $bg_imgs[0]; ?>) left top fixed">
На моем локальном сервере это выводит
<html style="background:#e8e6da url(C:\xampp\htdocs\mysite/wp-content/themes/my_theme/backgrounds/paper2.jpg) left top fixed">
... что браузеру не нравится, потому что он просит получить локальный ресурс. Даже если это не будет проблемой, как только сайт заработает, мне нужен только относительный путь к файлу изображения.
Так что я собирался возиться с использованием substr()
, чтобы отрезать ненужную часть пути, но я не уверен, в зависимости от того, где развернут сайт, что вернет get_template_directory()
. Я не хочу жестко кодировать все, что может измениться.
Какова наилучшая стратегия для возврата случайного пути изображения относительно URL сайта? Я рад отказаться от вышеупомянутого, если есть что-то лучшее.