控制文章显示

0 Share

控制文章显示

有时候我们的 WordPress 设置为每页显示10篇文章,但是我们需要在首页或者其他页面只显示6篇文章,或者是第一篇文章输出摘要,其他文章只输出标题。怎么做到呢?

有时候我们的 WordPress 设置为每页显示10篇文章,但是我们需要在首页或者其他页面只显示6篇文章,或者是第一篇文章输出摘要,其他文章只输出标题。怎么做到呢?

首页只显示6篇文章

打开位于  /wordpress/wp-content/themes 中的主题文件夹里的 index.php ,找到:

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

在此之前,加入一个计数器,代码:

<?php $postcounter=0;?>

然后继续搜索:

<?php endwhile; ?>

在这句,也就是循环结束之前,让计数器工作:

<?php $postcounter++;?>

好了,如果,我们打算输出6篇文章就够了,那么,在上面的两句之间插入代码,最后看起来像下面这样:

<?php
$postcounter++;
if ($postcounter==6){
break;
}?>
<?php endwhile; ?>

(这个仅当例子来看吧,猛然想到翻页的问题,第二页显示的是第11篇文章,7~10的文章根本没显示,汗)

只有第一篇文章输出内容

找到:

<?php the_content(); ?>

也可能找不到,因为可能你的主题里在括号里写了东西,搜索 the_content 就可以找到了。把这句改成下面这样:

<?php if ($postcounter!=1){the_content();}?>

----------------

利用这个可以干很多事情,比方在某一篇文章插播广告

@zoll

<?php if ($postcounter!=1 or is_paged()){
$content_class='content';
}else{
$content_class='content hide';
}?>
<div class="<?php echo $content_class;?>" >
<?php the_content('Read more...'); ?>
<div class="fixed"></div>
</div>

然后在 CSS 里面来句 .hide { display:none} 。应该可以了吧

Comments ( 14 )

  1. Replyt.n.
    那在分类页面要如何实现呢?
    • Reply卢达
      if (is_category()&&($postcounter==1)),补充下,编辑 archive.php
  2. ReplyZoll
    呵呵 早就想知道只第一篇输出内容的方法了, 要是配合个jQuery的展开效果肯定更爽。 谢啦~
    • Reply卢达
      好啊,等你把全站的效果都用 jQuery 搞定,我去偷你的js代码拿来用
  3. Replyxiaorsz
    暂时没有这样的需求!!哈哈!
  4. ReplyZoll
    额。。我突然意识到自己想错了。。如果说后面的文章的内容部分并没有加载,估计也没办法达到展开效果。。
    • Reply卢达
      算了代码死活贴不出来。看文章结尾吧
  5. ReplyZoll
    诶~毕竟没有这种程序思维。。脑瓜子想不到 呵呵 这样就比较好办了 呵呵
  6. ReplyZoll
    2008年12月17日05:18。。 额 我是该说你起的早呢还是睡得晚呢 哈哈~
  7. Reply十二星座
    上次修改下主题的CSS的感觉真麻烦,不是这多个就是那少个DIV的老是错位~~
    • Reply卢达
      改之前在一些包含了其他 div 的 div 的结尾处加注释,就不会乱了。
  8. Reply花果山寨
    这个显示数量后台不是可以直接设置吗?
    • Reply卢达
      我随便举了一例子……有点不恰当~
  9. ReplyShawn
    第一个例子是不是有点。。。我发现 wp query 非常好用,你可以试试,是一个调用方法。

Leave a reply

Your email address will not be published.