以下脚本应排除分配到“我的菜单”类别的项目。然而,他们仍然出现。有人可以帮助我找出逻辑缺陷吗?
<?php
global $post;
$cat=get_cat_ID('my-menu');
$catHidden=get_cat_ID('hidden');
$count=0;
$myposts2=get_posts(array('post__not_in'=>get_option('sticky_posts'),'cat'=>-$cat,'cat'=>-$catHidden,'showposts'=>5));
foreach($myposts2 as $post) :
$count++;
?><li><a href="<?php
the_permalink();
?>"><?php
the_title();
?></a></li><?php
endforeach;
?>
答案 0 :(得分:1)
来自codex:
可以通过用逗号分隔类别ID来指定多个类别ID
所以你想要:
$myposts2 = get_posts(
array(
'post__not_in' => get_option('sticky_posts'),
'cat' => "-$cat,-$catHidden",
'showposts' => 5
)
);
答案 1 :(得分:1)
'cat'=>-$cat,'cat'=>-$catHidden,
对我来说不对劲。为同一个变量分配多个值?
答案 2 :(得分:1)
我相信你可以修改它来工作:
更改代码段:
'cat'=>-$cat,'cat'=>-$catHidden,
为:
'category__not_in' => array( $cat, $catHidden ),
答案 3 :(得分:0)
两个猜测: