0

我需要一些帮助来看看我哪里出错了。

我正在尝试将页面 ID 添加到此原始功能:

<?php if( $post->ID != '91' )
    {
        get_sidebar();
    } ?>
>

还要排除 ID 1267。我正在尝试这个,但没有成功。

<?php
    $pageIDs_to_exclude=array("91","1267");

    if( $post->ID != $pageIDs_to_exclude )
    {
        get_sidebar();
    }
?>

当然必须有更好的方法来做到这一点?或者我错过了什么?感谢任何帮助/Anders

4

4 回答 4

5
$pageIDs_to_exclude = array("91","1267");

// in_array will return false if it doesn't find $post->ID within the $pageIDs_to_exclude array 
if( ! in_array($post->ID, $pageIDS_to_exclude) )
{
    get_sidebar();
}
于 2013-03-19T18:34:07.347 回答
3

您正在尝试直接比较$post->ID,$pageIDs_to_exclude一个数组。由于$post->ID不是数组(它是字符串),因此这是不可能的。相反,看看是否$post->ID$pageIDs_to_exclude.

if (!in_array($post->ID, $pageIDs_to_exclude)) {

    get_sidebar();

}

in_array()true是一个在数组中找到对象时返回的函数。

于 2013-03-19T18:35:07.397 回答
1

您可以使用 php 的 in_array。它将返回真或假。

$pageIDs_to_exclude=array("91","1267");

if(!in_array($post->ID,$pageIDs_to_exclude))
{
    get_sidebar();
}
于 2013-03-19T18:34:21.060 回答
1

使用 PHP 函数in_array()( http://php.net/manual/en/function.in-array.php ) 在数组中搜索值:

<?php
  $page_ids = array("91", "1271");
  if(!in_array($post->ID, $page_ids))
   {
    get_sidebar();
   }
?>
于 2013-03-19T18:37:17.300 回答