• Всем привет.

    Помогите составить правильное условие.
    Нужно исключить вывод блока на 2 страницах: блог и страница вопросов + страницы одиночных вопросов.
    Страница блога https://personalmoneyservice.com/blog
    Страница вопросов https://personalmoneyservice.com/questions

    Было такое условие, оно работало, сейчас почему-то нет.

    <div class="description">
    	<?php if ( basename(get_page_template()) != 't_blog.php' || basename(get_page_template()) != 'question.php' || is_archive() != true || is_page_template() == 'question') { ?>
    	<div class="dis-box">
    		<?php get_template_part( 'disclaimers/personal_disclaimer' ); ?>  
    	</div>
    	<?php } ?>
    </div>
Просмотр 15 ответов — с 1 по 15 (всего 16)
  • На самом деле, вы привязываетесь не к конкретным страницам, а к шаблонам страниц.
    Соответственно, (если предположить, что вы ничего не напутали в инверсии логики) под условие попадают все страницы на основе данных шаблонов.

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

    Эти страницы имеют свой шаблон.
    Может неправильное условие. Направьте на правильный путь пожалуйста.

    Не уверен в справедливости данного утверждения:

    Было такое условие, оно работало…

    Необходимо понимать, что на странице Блога — выводятся анонсы, которые могут быть сформированы на основе исходных Шаблонов. (что вряд-ли, т.к. Шаблоны, в оригинале — это все же Страницы, а не Записи, хотя это все достаточно условно)
    Соответственно, даже если Анонсы и являются проекциями Страниц с исключениями, то Анонсы все равно будут выводиться в списке Блога, а вот уже сами Страницы на этих самых Шаблонах — выводится не будут.

    И оно так именно и работает в данный момент.

    <div class="description">
    <div class="dis-box">
    <h3>DISCLAIMER:</h3> ...

    присутствует на странице https://personalmoneyservice.com/personal-loans-for-business/, анонс которой выводится на странице Блога.

    Если вам необходимо, чтобы на странице Блога не было Анонсов страниц на основе тех самых Шаблонов, то — это совсем другой вопрос, который еще не был сформулирован.

    P.S.
    Вы точно понимаете разницу в поведение логических И и ИЛИ находящихся под отрицанием?

    Может в этом все и дело?

    (что вряд-ли, т.к. Шаблоны, в оригинале — это все же Страницы, а не Записи, хотя это все достаточно условно)

    Не факт 🙂 https://developer.wordpress.org/themes/template-files-section/page-template-files/#creating-page-templates-for-specific-post-types

    Было такое условие, оно работало, сейчас почему-то нет.

    Я лично вообще не понимаю, зачем Вы условия ставите на шаблоны, а не слаги, напр (судя по описанной задаче). Но думаю Вам стоит почитать описание используемых функций.
    А возможно и другие условные функции.

    Кроме того — в самих же шаблонах наверняка можно все сделать что Вам нужно и никакие условия будут не нужны.

    Данное условие я ставлю в footer.php. footer.php подключается на страницах через get_footer();. И это условие срабатывает на странице на которой мы находимся, если условие срабатывает, то данный блок или отображается или нет.

    Данное условие я ставлю в footer.php.

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

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

    В зависимости от страницы, условие срабатывает и блок показывается или нет.
    Может я не правильно объясняю, но вроде так и работает.

    В зависимости от страницы, условие срабатывает

    «Страница» может иметь
    а) свой шаблон в котором и выводить нужное.
    б) общий шаблон, в котором выводить нужное по условию. Слага напр.

    «нужное» — это виджет/сайдбар/часть шаблона.

    Кроме того можно просто использовать плагины динамических садбаров/виждетов.

    Т.е. вообще нет никакого смыла проверять используемый «страницей» шаблон.

    Мне не нужны плагины, не нужны сайтбары, нужно это делать в футере.

    А я бы сделал два разных шаблона футера — с блоком и без — и подключал в шаблоне страницы нужный.

    А я бы сделал два разных шаблона футера — с блоком и без — и подключал в шаблоне страницы нужный.

    Это вариант, не направите на нужное условие?

    Функция get_footer() может иметь параметр, указывающий имя шаблона футера.
    И не нужно дополнительных условий, условием работает шаблон страницы.
    Скажем, footer.php без блока, а footer-block.php с блоком. Тогда в шаблоне страницы с блоком вместо get_footer(); пишем get_footer('block');

    Матчасть: Теги шаблонов/get footer « WordPress Codex

    Не получится. У меня есть внутренние страницы, которых нет на хостинге. На них тоже нужно чтобы блок не выводился. Например вот вопросы: https://personalmoneyservice.com/questions/blockchain/

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Тема «Помогите составить правильное условие» закрыта для новых ответов.