麻烦 ||操作员
Trouble with || operator
我有一个页面(标题为 PPC)和一个自定义 post 类型(标题为 Presentations),我不想让某些元素出现在上面。我认为这段代码可以工作:
<?php
if ((!is_page('PPC')) || (!is_singular('presentations'))) {
?>
<section id="menu" class="menu">
<div class="grid grid--justify-center grid-md--justify-end grid--align-middle menu__inner">
<nav role="navigation" class="menu__nav">
<?php
$nav_classes = 'header__menu header__menu--global';
include(locate_template('components/component-nav.php', false, false));
?>
</nav>
</div>
</section>
<div class="header__item header__item--hamburger">
<button id="toggleHeaderHamburger" onclick="toggleHeaderView()" class="hamburger">
<span class="hamburger__bar"></span>
</button>
</div>
<?php } ?>
单独使用每个条件,没有 ||,效果很好。但是当我将它们结合起来并使用逻辑运算符时,没有任何效果。我也试过去掉括号,所以它看起来像这样:
if (!is_page('PPC')) || (!is_singular('presentations')) {
但是我得到一个错误。我在这里做错了什么?
如您所写,!is_page('PPC') || !is_singular('presentations')
会粗略地将其翻译为“两者都不是”,这在逻辑上是荒谬的。在该表达式的评估中,如果它是“不是 PPC”,那么它是否是“演示文稿”就不再重要了,vice-versa.
您想要的是“其中任何一个”is_page('PPC') || is_singular('presentations')
加上“不是”前缀:
! ( is_page('PPC') || is_singular('presentations') )
“两者都不是”。
我有一个页面(标题为 PPC)和一个自定义 post 类型(标题为 Presentations),我不想让某些元素出现在上面。我认为这段代码可以工作:
<?php
if ((!is_page('PPC')) || (!is_singular('presentations'))) {
?>
<section id="menu" class="menu">
<div class="grid grid--justify-center grid-md--justify-end grid--align-middle menu__inner">
<nav role="navigation" class="menu__nav">
<?php
$nav_classes = 'header__menu header__menu--global';
include(locate_template('components/component-nav.php', false, false));
?>
</nav>
</div>
</section>
<div class="header__item header__item--hamburger">
<button id="toggleHeaderHamburger" onclick="toggleHeaderView()" class="hamburger">
<span class="hamburger__bar"></span>
</button>
</div>
<?php } ?>
单独使用每个条件,没有 ||,效果很好。但是当我将它们结合起来并使用逻辑运算符时,没有任何效果。我也试过去掉括号,所以它看起来像这样:
if (!is_page('PPC')) || (!is_singular('presentations')) {
但是我得到一个错误。我在这里做错了什么?
如您所写,!is_page('PPC') || !is_singular('presentations')
会粗略地将其翻译为“两者都不是”,这在逻辑上是荒谬的。在该表达式的评估中,如果它是“不是 PPC”,那么它是否是“演示文稿”就不再重要了,vice-versa.
您想要的是“其中任何一个”is_page('PPC') || is_singular('presentations')
加上“不是”前缀:
! ( is_page('PPC') || is_singular('presentations') )
“两者都不是”。