Intereting Posts
WordPress не распознает созданную тему Знайте, какой сценарий / страница вызывается с помощью вызова ajax Установка почтовых метаданных в случайное значение во время перехода статуса должности / публикации загружать пользовательские поля при нажатии Использование apply_filter в классе plugin / widget Географический запрос близости с использованием post_meta Неправильное уведомление post_status после wp_insert_post_data У пользовательских ролей пользователя есть все возможности по умолчанию? Как обойти имя пользователя как обязательное поле при регистрации и вместо этого использовать адрес электронной почты? Создание пользовательского типа, как пользовательский пост Использую ли я функцию flush_rewrite_rules в нужном месте? Как заставить WordPress Editor не принимать HTML? Штрих-код списка воспроизведения, предотвратить повтор Показать роль автора в архиве или странице автора Как иметь роль технического писателя на веб-сайте wp

Изменение цвета фона в зависимости от родительской страницы?

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

Поэтому давайте скажем, что у меня есть PARENT A (зеленый фон) и PARENT B (белый фон) сейчас, когда я создам дочерний элемент PARENT AI, хотел бы, чтобы у него был зеленый фон автоматически. Я знаю, что что-то подобное можно было бы сделать с помощью сообщений, используя

<div class="post <?php foreach((get_the_category()) as $cat) { echo $cat->cat_name . ' '; } ?>"> </div> 

Мне нужен совет, какой был бы лучший способ сделать это.

Если ваша тема использует body_class(); функции, то вы можете ориентировать страницы через CSS.

Если у вас есть родительская страница с идентификатором 2 и фоном, который вы хотели изменить, это div .content, вы просто используете:

.parent-pageid-2 .content { background: green; }

Или что-то подобное этому эффекту. Это будет работать на столько дочерних страниц, которые у вас есть.

Вы можете сделать что-то в соответствии с приведенным ниже кодом, имея другой div в зависимости от идентификатора страницы. Положите стиль в свой CSS, но это рисует картину. Поместите код в любой файл php, к которому вы применяете это.

 <?php if (is_page('30')) { ?> <div id="page30" style="background:blue;"> <?php } else { ?> <div id="default" style="background:white;"> <?php } ?> <!-- content inside div --> </div> 

Чтобы добавить к тому, что написал TomHarrigan, вы можете попробовать что-то вроде post_parent, … Предполагаю, вы имеете в виду родителей страниц.

 $children = get_children( "post_type=page&post_parent=PARENT_A" ); if $children { <div id="page30" style="background:blue;"> } 

Вы должны изучить использование API-интерфейсов Options для этого типа вещей. http://codex.wordpress.org/Options_API