Intereting Posts
Проблема формы и пользовательского запроса Как изменить ключ «with_front» из существующего настраиваемого типа сообщений? Использовать функцию WooCommerce в другом плагине WordPress URL-адрес архива по умолчанию Как динамически изменять размер изображения WordPress On-The-Fly (настраиваемая опция поля / темы) Почему я не вижу «Виджеты» в моем меню «Явление»? Ограничить доступ к администратору Пользовательский тип сообщения и таксономия – показать похожие записи Отображение выбранных имен терминов (без повторения) из каждой записи в пользовательском типе сообщения Post Loop отсутствует последнее сообщение Как включить короткие коды в PHP? Скрыть таксономию, когда термин пуст (источник) Возможно ли восстановить истекший переход? Как рассчитать общее количество комментариев, сделанных определенным пользователем Плагин Shopp Удалить количество Dropdown

Как добавить / вставить класс на боковую панель в single.php?

У меня есть боковая панель, отображающая в домашних и одиночных страницах. Когда он появляется на домашней странице, он имеет уже определенный класс css (ширина: 30%),

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

Я попытался сделать это следующим образом:

В functions.php (дочерняя тема)

function sidebar_class() { if ( is_single() ) { $class = 'sidebar-single'; } return $class; } 

В sidebar.php

 <div id="secondary" class="sidebar1-area <?php sidebar_class(); ?>" role="complementary"> 

Результат html должен быть:

 <div id="secondary" class="sidebar1-area sidebar-single" role="complementary"> 

Исходные значения css для класса

 width: 30% 

Конечный результат

 width:35% 

Как я могу выполнить это наиболее эффективным способом?

Solutions Collecting From Web of "Как добавить / вставить класс на боковую панель в single.php?"

Как я могу выполнить это наиболее эффективным способом?

Как указывает Rarst , не меняйте класс, чтобы изменить стиль. Оставьте класс тем же и используйте CSS Specificity для изменения стиля на определенных страницах.

Когда WordPress создает страницу в теме, которая использует body_class() она добавляет много информации о странице в классе html тега body. Посмотрите на этот тег на странице, созданной single.php, и этот класс будет включать имя класса single .

Используйте это, чтобы указать стиль для файлов single.php.

 #secondary { /** These styles work on all pages. */ } body.single #secondary { /** These styles only work on single.php pages. */ } body.home #secondary { /** These styles only work on home pages. */ } 

См. body_class() для получения подробных сведений о том, какие классы добавлены.