关于条件标记的三个变量

时间:2015-10-26 作者:James Frank Haleavy

如果存在三个变量,我将尝试返回$ad\\U代码,但它不允许我尝试添加的第三个变量。我想排除一个类别。

我正在尝试使用(根据WordPress\'"conditional tags")

if ( is_single() && ! is_category( \'1293\' ) && ! is_admin() )  {
    return prefix_insert_after_paragraph( $ad_code, 2, $content );
}

return $content;
代码(包括指定$ad\\U代码是什么的代码)起作用。就在我尝试添加时&& ! is_category( \'1293\' ) 它仍然显示在所有帖子上(不仅仅是1293)。我也尝试使用类别名称,但这也起到了同样的作用。

我尝试的第三个变量是停止$ad_code 从全部或无立柱上装载。

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

您的条件,is_category() 这里是错的。is_category() 检查您是否实际在类别页面上。通过使用! 运算符与is_category() 和ID1293, 条件的这一部分将始终返回true,除非您实际位于类别的类别页面上1293.

如果需要从类别中排除某组帖子1293, 您应该使用条件检查,in_category()has_category() (本质上,两者完全相同)。因此,您的条件语句应该如下所示:

if (    is_single() // Make sure we are on a single page
     && ! in_category( \'1293\' ) // Make sure the post does not belong to category 1293
     && ! is_admin() // Make sure this is not an admin page
)  {
    return prefix_insert_after_paragraph( $ad_code, 2, $content );
}

相关推荐