将指定类别排除在最新帖子之外

时间:2013-09-26 23:37:29

标签: wordpress

我使用此代码显示我的最新帖子。

<?php get_archives('postbypost', '10', 'custom', '<li>', '</li>'); ?>

但我想根据我的需要改变它,所以我想要的是排除有“推荐”类别的帖子。确切地说,我想要的是,我不想在我的最新帖子中显示有一个“推荐”类别的帖子。

我目前正在网上搜索这种方法,但不幸的是,到目前为止还没有找到。

1 个答案:

答案 0 :(得分:0)

我认为get_archives已被弃用。替换wp_get_archives本身不允许您排除类别。

因此可能值得考虑使用get_posts。可以在以下位置找到一个示例: http://codex.wordpress.org/Function_Reference/get_posts#Latest_posts_ordered_by_title

<?php
$args = array( 'posts_per_page' => 10, 'order'=> 'ASC', 'orderby' => 'title' );
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
  setup_postdata( $post ); ?> 
    <div>
        <?php the_date(); ?>
        <br />
        <?php the_title(); ?>   
        <?php the_excerpt(); ?>
    </div>
<?php
endforeach; 
wp_reset_postdata();
?>

因此,如果您只是以<li></li>列表格式显示每个帖子名称,您可以(无需测试)尝试 - 其中3是推荐的ID -

<?php
$args = array( 'posts_per_page' => 10, 'order'=> 'DESC', 'orderby' => 'date', 'category__not_in' => array(3));
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
  setup_postdata( $post ); ?> 
    <li>
        <?php the_title(); ?>   
    </li>
<?php
endforeach; 
wp_reset_postdata();
?>