现在的位置: 首页 > WordPress教程 > 正文

WordPress博客知更鸟主题blog布局不显示(排除)某分类最新文章

2012年11月30日 WordPress教程 ⁄ 共 1036字 评论数 1 ⁄ 阅读 3,253 次

有时我们会需要在wordpress博客首页不显示某分类的文章,如笨鸟在用知更鸟主题时不想在博客布局首页显示某些转载的文章,这时就需要通过修改博客首页控制文件代码来实现。

对于一般wordpress博客,要在主题根目录里寻找index.php或home.php文件,在<?php if (have_posts()) : ?>之前加入以下代码:

<?php
//只显示某分类的文章
$cat_id='1,2';//the category ID
//不显示某些分类的话 这样写
//$cat_id='-3,-4';//the category ID
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=' . $cat_id . '&showposts=' . $limit . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>

或在<?php if (have_posts()) : while (have_posts()) : the_post(); update_post_caches($posts); ?>前面增加代码<?phpif (is_home()) {query_posts(“cat=-1,-2″);}?>,该代码表示在首页排除文章分类ID为 1 ,2 的文章。

但对于知更鸟主题,这些都无法解决blog布局中排除某分类最新文章的问题,正确的修改方式如下:

打开blog.php模版文件在:

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

上面添加:

<?php

$temp = $wp_query;

$wp_query= null;

$wp_query = new WP_Query();

$wp_query->query('&caller_get_posts=5'.'&cat=-1,-2,-3'.'&paged='.$paged);

?>

其中:

caller_get_posts=5 排除置顶文章

cat=-1,-2,-3 排除ID为1、2、3的分类文章,多个分类用半角(英文)逗号分开,如果数字前不加“-”就是只显示ID为1、2、3的分类文章。

保存上传后就会发现,在知更鸟博客布局中已经不显示你想排除的那个分类的文章了!

» 声明:本站文章源于个人经验总结或书籍、互联网转载,内容仅用于个人学习,请勿转载,否则后果自负!

目前有 1 条留言 其中:访客:0 条, 博主:1 条


  1. 管理员
    大河笨鸟 : 2012年11月30日21:30:51  -49楼 @回复 回复

    在此,需要注意的是,如果你的hotnews主题也像笨鸟博客一样,在bolg布局中添加了幻灯模块,会产生算法冲突。
    因之前将幻灯移进来后我们已经排除了一次置顶文章,在blog.php文件中,如下代码:
    < ?php $sticky = get_option( 'sticky_posts' ); $args = array( 'ignore_sticky_posts' => 1,

    ‘post__not_in’ => $sticky,

    ‘paged’ => $paged

    );

    query_posts( $args );

    ?>
    在本次修改,排除特定分类后,需要将以上代码清除才可,否则很容易出现后台界面的乱码现象。

给我留言

留言无头像?