Могу ли я использовать параметры темы, чтобы изменить две вещи одновременно?


Возможный вопрос - пожалуйста, будьте любезны.

Я создаю страницу параметров темы, используя образец из Формы темы, и один из вариантов, который я хочу иметь, - это установить ширину боковой панели.

Чтобы сделать это с помощью CSS, который у меня уже есть, мне нужно изменить атрибуты класса в моем HTML в двух местах (одно для ширины основного столбца, другое для боковой панели).

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

Возможно (надеюсь!) простой вопрос, но выходящий за рамки моих нынешних способностей.

Любая помощь будет очень признательна. Спасибо.

Обновление:

Я должен уточнить, что я не программист, и я уже вааааю из своей глубины. Тем не менее, вот к чему я стремлюсь... На странице "Параметры темы" я хочу иметь раскрывающееся меню с двумя вариантами: "широкая боковая панель" и "узкая боковая панель". Один из этих будет по умолчанию. Для изменения значения по умолчанию необходимо изменить два класса CSS. Я ценю ответ Рарста ниже, но я просто недостаточно знаю о PHP, чтобы заставить его работать. Есть ли простое (r) объяснение того, как это сделать? Еще раз, извините, если это элементарные вещи.

Author: snthr, 2011-01-22

1 answers

Ничто не мешает вам получить свой вариант в нескольких местах. Вы можете сделать несколько get_option() вызывает или создает глобальную переменную и присваивает ей свое значение один раз.

Трудно придумать конкретный пример, не зная, что именно вы храните в option и какие классы вы хотите создать для своей разметки.

Обновление

Один из способов сделать это. В зависимости от того, как вы организуете код, вам может потребоваться объявить переменные как global :

$options = get_option('sample_theme_options');
$sidebar_width = $options['sidebar_width']; // let's say we have stored integer '2' here
$column_width = 8 - $sidebar_width; // total width minus sidebar

// and then in template
echo "<div class='main-{$column_width}col'> main </div>";
echo "<div class='sidebar-{$sidebar_width}col'> sidebar </div>";
 2
Author: Rarst, 2011-01-22 17:25:51