如果单一数组未按预期工作(_S)

时间:2015-05-11 作者:Sam

我在标题中使用以下if语句。php加载自定义跟踪代码。

<?php if ( is_singular( array( \'custom-post-type\', \'post-name\' ) ) ) : ?>
     // Specific tracking code here
<?php endif ?>

<?php if ( is_singular( array( \'custom-post-type\', \'another-post\' ) ) ) : ?>
    // Specific tracking code here
<?php endif ?>
当我转到每个帖子时,两个跟踪代码都会显示出来。我是不是做错了什么?

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

您在此处使用的支票不正确。is_singular() 如果某个帖子来自指定的帖子类型或帖子类型,则返回true;如果未指定任何帖子类型,则返回默认帖子类型。您不能针对特定的单篇文章is_singular()

你必须使用is_single 针对特定岗位

if ( is_single( \'post-a\' ) {
    // Do something for post-a
} elseif ( is_single( \'post-b\' ) {
    // Do something for post-b
}

SO网友:JimboSlice

我认为您的参数“is\\u singular”过于复杂,或者“custom post type”是您的实际CPT吗?

尝试:

if ( is_singular( \'custom-post-type\' ) ) {
  // Foo
} else if ( is_singular( \'another-custom-post-type\' ) ) {
  // Bar
}

结束

相关推荐

将Single-review.php拆分为两部分

我已经创建了一个新的页面模板,我想用于我的自定义帖子类型。我需要保留旧的自定义帖子类型的现有格式,但对于任何新的自定义帖子类型,我想实现我的新页面模板。这样做的最佳方式是什么?我考虑使用一个自定义字段,如果它存在,那么应该加载新的页面模板,否则加载普通的single-review.php 密码我已经为自定义字段提出了条件语句,但我不知道从这里开始做什么。<?php $myurl = get_post_meta($post->ID, \'newstuff\', true); if($myurl)