2016-12-09 2 views
0

По некоторым причинам я должен добавить немного стиля (margin) в нижний колонтитул страницы. Его следует применять только тогда, когда часть содержимого страницы является архивом продукта.Сравнить значения в различных частях шаблона

Я пытался создать переменную в файле архива-products.php как это:

<?php global $template; 

$template = 'prodarchive'; 

var_dump($template);?> 

Согласно var_dump значение устанавливается. Затем я попытался назвать это в моем footer.php следующим образом:

<?php if ($template === 'prodarchive') {?> 

а затем материал, который ему нужно сделать.

Некоторые тесты показывают мне, что файл footer.php не способен воспроизвести значение $ template. Что не так?

+1

Самое легкое решение - это ответ @ seemly ниже, но вы также можете использовать 'is_post_type_archive ('product')', который возвращает значение bool. Что касается того, почему ваша глобальная переменная не работает в 'footer.php', я уверен, что' get_footer() 'фактически не передает все глобальные переменные. – Dre

+0

Благодарим вас за ответ. Я использую ваше предложение следующим образом: ''. Работает как очарование на всех страницах архива продукта. Когда вы опубликуете его в качестве ответа, я буду рад принять его. – A3O

ответ

0

Самое простое решение (как было отмечено @seemly) заключается в применении функции body_class() к <body> тегу:

<body <?php body_class(); ?>> 

Это будет применять ряд полезных классов, которые можно использовать для CSS, включая одну из страниц архива продукта.

Другой подход заключается в использовании is_post_type_archive('product'), который возвращает логическое значение.

Что касается того, почему ваша глобальная переменная не работает в footer.php, я уверен, что get_footer() не передаёт все глобальные переменные при ее вызове.

0

Этот тип сообщения не применяется как класс css для тега тела?

Если нет, вы можете добавить его в массив классов, которые применяются к тегу тела, и основывать на нем любой дополнительный стиль.

How to add classes to body tag

+0

Было бы хорошо, если бы вы положили фактическую функцию в свой ответ, в случае, если ссылка перестанет работать в будущем. – Dre

+0

Благодарим вас за ответ. Я пошел на решение в комментарии Dre. Я использую '', И он отлично работает на странице магазина, страницах категорий и поисковых архивах. – A3O

Смежные вопросы