在header.php中包含2个否定的IS_TEMPLATE条件

时间:2015-03-09 作者:lime

我想在中设置条件header.php 包装所有模板,除了front-page.phpsingle-device.php, 在引导容器元素中。

写一个条件实现了我想要的

if( !is_singular(\'device\') ) {
   echo \'<div class="container">\';
}
但是,当包含两个条件时,只有第一个条件适用。

if( !is_singular(\'device\') || !is_front_page() ) {
   echo \'<div class="container">\';
}
逻辑是否错误?

1 个回复
最合适的回答,由SO网友:Travis Seitler 整理而成

(扩展Pieter的上述评论,并解释其背后的逻辑……)

if() 计算括号中的条件,计算结果为TRUEFALSE 对于总和(根据各种条件的组合方式,其可能会发生变化)。

用通俗易懂的英语,if( !is_singular(\'device\') || !is_front_page() ) 意思是,“如果这不是一个单一的设备帖子,或者这不是头版,那么…”

由于WordPress网站上的URL不会同时成为首页和一篇文章(除非你已经特意对其进行了配置),你可能想使用&& 而是:if( !is_singular(\'device\') && !is_front_page() ){}

用通俗易懂的英语来说,后者if 这句话的意思是,“如果这不是一个单一的设备帖子,并且这不是头版,那么…”

结束

相关推荐

1 post, 2 templates

我想能够呈现两种不同的风格(2个模板)后。例如,假设我有post ID 133,我希望有两个url来访问它,因此它会呈现不同模板应用的位置。洛雷姆。com/render1/133。com/render2/1333,例如。。。或者可能是这样的:洛雷姆。com/post/133和lorem。com/post/133?模板=2您将如何操作?