我的Wordpress阵列出了什么问题?

时间:2012-05-24 17:57:59

标签: php arrays wordpress posts

我正在尝试使用数组排除Wordpress中的某些帖子。我可以通过这样做成功删除其中一个帖子:

<?php if ( $post->ID != '443' ) { ?>
  ...
<?php } ?>

我正在尝试创建一个我要删除的帖子数组,并将其包含在内:

<?php $excluded = array('443', '479', '464', '589', '333', '296', '381', '405', '252', '301', '291', '306', '632', '634', '636', '313', '317', '389', '410', '417', '321');
if ( $post->ID != $exclude ) { ?>
  ...
<?php } ?>

我一直在努力教自己PHP并且正在努力使用数组,有什么帮助吗?

3 个答案:

答案 0 :(得分:2)

将数字与数字进行比较确实有效,正如您的第一个示例所示。

但是第二个你比较一个数字(ID)和一个数组(一个数字列表)。

要检查,ID是“已排除”列表的元素,您必须使用in_array()

if (!in_array($post->ID,$exclude)){
...
}

此致

史蒂芬

答案 1 :(得分:0)

您应该使用in_array来测试值是否在数组中

if (in_array($post->ID, $exclude)) {

}

答案 2 :(得分:0)

你的if语句的问题是你正在检查postID!=整个数组,而不是一个值是否在该数组中与该值匹配。

您想使用in_array功能。这看起来像是:

if ( !in_array($post->ID, $exclude )