一个循环用于粘性,一个循环用于所有其他-如何,不指定类别?

时间:2012-12-10 作者:weevie833

我设计了一个归档页面的样式,在顶部显示一篇带有特殊设计的贴子,然后以标准标题/摘录格式显示该类别中的所有其他贴子(贴子除外)。我已经为两个循环指定了目标类别:

仅粘性:

<?php $args = array(
\'cat\' => 3,
\'posts_per_page\' => 1,
\'post__in\'  => get_option( \'sticky_posts\' ),
\'ignore_sticky_posts\' => 1              
    );

query_posts( $args );?>
其余所有内容:

<?php 
$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$sticky = get_option( \'sticky_posts\' );                     
$args = array(
    \'cat\' => 3,
    \'ignore_sticky_posts\' => 1,
    \'post__not_in\' => $sticky,
    \'paged\' => $paged,
    \'orderby\' => \'menu_order\',  
    \'order\' => \'ASC\' 
); 
query_posts( $args ); ?>
我已经定制了类别。在每个循环中手动添加带有“cat”ID的每个类别的php模板。

我的问题:是否可以在不手动设置cat ID的情况下执行此操作?我尝试过,但最终得到的是所有帖子,而不仅仅是类别变量。thx-史蒂夫

1 个回复
SO网友:Michael

您可以通过以下方式获取类别存档的类别ID:

get_query_var(\'cat\')

结束

相关推荐

Added if statement to loop

我想给我的循环添加一个功能。与自定义post类型一起使用的php。然而,我不想让它显示在所有帖子上,只想显示那些自定义帖子类型的帖子(比如它被称为“review”)。有没有办法说如果post type=review,那么显示这个新部分,否则隐藏?我试过使用<?php if( get_post_type() == \'reviews\' ) 但我不知道如何将else语句表述为什么都不做,然后正常继续。非常感谢。