PHP if Condition not working

时间:2012-04-26 作者:Rob Myrick

我试图在Wordpress中创建一个只调用wp_head() 除“关于我们”页面和“新闻文章”页面外的所有页面。代码如下:

<?php if (!is_page(\'about-us\') || !is_page(\'news-articles\')) {wp_head();}?>
当我只对其中一个页面使用命令时,它似乎工作得很好,但使用操作符似乎会把事情搞砸。在某些情况下,页面加载正确,但没有达到预期的结果。我还仔细检查了一遍,以确保我引用的页面正确无误,我对此很有信心。

3 个回复
最合适的回答,由SO网友:adrien 整理而成

您应该使用“AND”运算符,而不是“OR”

<?php if (!is_page(\'about-us\') && !is_page(\'news-articles\')) {wp_head();}?> 
因为您只想在两个条件都为真时显示WP头。

SO网友:Michael

而不是or|| 您需要和&&.

<?php if (!is_page(\'about-us\') && !is_page(\'news-articles\')) {wp_head();}?>
否则,一个或另一个条件始终为真。如果不是about-us, 或者不是news-articles, 这在每种情况下仍有可能是另一个,同时仍满足条件。相反,通过使用逻辑AND,可以指定它不是about-us 而且也不是news-articles.

SO网友:icc97

当然,所有其他的都是正确的,但是如果你真的喜欢你的或你可以应用一些逻辑(!x&&!x === !(x||x)):

<?php if (!(is_page(\'about-us\') || is_page(\'news-articles\'))) {wp_head();}?>

结束

相关推荐

将外部php库集成到WordPress-正确的方式

如果我要将自定义库加载到wordpress中,那么添加它的最佳位置是什么?由于在库的顶部定义了一组全局变量,因此我不希望通过一个钩子来完成这项工作,在钩子中,我被迫使用包装函数,从而将我的库全局变量视为该函数的本地变量。我的库开始于ob_start() // I\'m not sure how this would effect WP. So I\'m not too big on this. session_start(); // I do need this thoug