Передача динамических параметров из backend в frontend

Я создал страницу параметров администратора (с помощью Redux Theme Framework), в которой администратор может настроить внешний вид веб-сайта (цвет текста, цвет фона, параметры повтора фона и т. Д.).

Предположим, я хочу дать моему пользователю возможность настроить собственный фон для раздела. Администратор, у меня есть форма для загрузки медиа (уникальный id: my_div_background_url).

В интерфейсе я могу получить эту опцию, а затем повторить ее следующим образом:

<?php $options = get_option('my_theme'); $section_background_url = $options['div_background_url']; echo '<section style="background-image: url(\'' . $section_background_url . '\');"></section>'; ?> 

Мой вопрос: это правильный и лучший способ сделать это? Не было бы лучше, если бы все мои параметры были сохранены в файле css всякий раз, когда администратор меняет их, а затем, если этот файл включен в мой сайт? Или есть другие методы?

Solutions Collecting From Web of "Передача динамических параметров из backend в frontend"

По умолчанию параметры автоматически загружаются. Таким образом, все опции с autoload: yes будут загружены очень рано. Вам не нужен дополнительный запрос.

Кроме того, доступ к базе данных часто бывает быстрее и надежнее, чем доступ к файлам. Таблица параметров также обычно включается в резервные копии баз данных и может быть экспортирована в нескольких форматах. Поэтому придерживайтесь опций.

Что вы должны сделать: убежать от URL. Возможно, это было скомпрометировано, поэтому …

 if ( ! empty ( $options['div_background_url'] ) { $section_background_url = esc_url( $options['div_background_url'] ); echo "<section style='background-image: url($section_background_url);'></section>"; } 

Вы можете переместить пользовательские стили в один элемент style элементе head .