PHP链接列表:这个脚本有什么问题?

时间:2010-01-07 15:20:17

标签: php wordpress

以下脚本应排除分配到“我的菜单”类别的项目。然而,他们仍然出现。有人可以帮助我找出逻辑缺陷吗?

<?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; 
?>

4 个答案:

答案 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)

两个猜测:

  1. post__not_in看起来不对 - 它应该是双下划线吗?
  2. 假设这是wordpress,我在codex的get_posts页面上看不到'post_not_in'参数