Intereting Posts
Есть ли крючок action_filter для добавления контента до заголовка сообщения? Почему Теги не отображаются на моей странице? Как добиться родительской и дочерней структуры, показанной в моем примере Непоследовательная информация в блоге Как получить доступ к переменной страницы внутри действия Добавить класс в пункты меню одного определенного меню (nav_menu_css_class) Как ограничить параметры статуса для массового / быстрого редактирования только опубликованными и черновыми? вычислять значения из поля и вставлять их в настраиваемые поля при публикации или обновлении сообщения Как скрыть определенные поля профиля пользователя? Плагин Добавить новый установщик с ошибкой WP CLI Core install – пустая база данных Вложенная meta_query с несколькими ключами отношения Интеграция с полным подключением кэш-памяти W3 Есть ли универсальный пул для статической домашней страницы? мой сайт показывает этот символ (: :) между названием сайта и tagline

Передача динамических параметров из 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 .