PHP链接列表:什么';这个剧本怎么了?

PHP链接列表:什么';这个剧本怎么了?,php,wordpress,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'=>-$catH

下面的脚本应该排除分配给“我的菜单”类别的项目。然而,他们仍在出现。有人能帮我找出逻辑缺陷吗

<?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; 
?>
  • 两种猜测:

  • post\u not\u in看起来错误-应该是双下划线吗
  • 假设这是wordpress,我在法典页面上看不到“post\u not\u in”参数
  • 抄本:

    可以通过用逗号分隔类别ID来指定多个类别ID

    所以你想要:

    $myposts2 = get_posts(
        array(
            'post__not_in' => get_option('sticky_posts'),
            'cat' => "-$cat,-$catHidden",
            'showposts' => 5
        )
    );
    

    'cat'=>-$cat,'cat'=>-$catHidden,
    在我看来是错的。将多个值赋给同一个变量?

    我相信您可以这样修改它来工作:

    更改代码段:

    'cat'=>-$cat,'cat'=>-$catHidden,
    
    致:


    get_post()函数中发生了什么?函数是否打印或返回结果?此函数的来源将有助于解释为什么$cat和$catHidden之前有“-”符号?这是Wordpress的吗?我是通过get_cat_ID方法来假设的。@James-是的,wordpress(对不起,应该在问题中说明)答对了!非常感谢亚当!我已经选择了你的答案,并测试了它的效果。
    'category__not_in' => array( $cat, $catHidden ),