WP的大多数模板在默认情况下首页都只显示最新的若干条最新文章。如果想要在首页以栏目版块的形式调用文章如何做到呢?

首先,在页面中调用某个栏目需要用到wp_list_categories()函数;其中函数可以设置inlcude参数,设置对应的分类目录编号,即可显示出相应分类目录的名称。例如:

wp_list_categories(‘include
1
2
3
4

第二步,我们需要使用query_posts()函数来调用对应栏目的文章;函数可以设置cat、showpost两个变量。其中cat为分类栏目id;showpost顾名思义,也就是显示的条数。举例:```<?php query_posts(‘cat=4&showposts=8’); ?> ```这个语句就是调用文章分类为4 的文章,并且显示8调数据。

第三步,使用while()和 the_post()函数,输出第二步查询的结果。while需要以endwhile结束。例如:```<?php while () : the_post(); ?><?php endwhile; ?>``` 这样就可以讲第二步查询的记录进行一一输出了。当然,我们还可以加入一些 判断,确认是否有文章,没有文章则不显示。例如:```<?php while (have_posts()) : the_post(); ?><?php endwhile; ?>

第四步,在while语句中间,插入需要显示数组的函数。通过这些函数,我们可以输出诸如链接地址

the_permalink() ?>```、标题名称``````、日期等信息``````。
1
2
3
4

通过上面几个步骤,就可以完成栏目内容的调用了。

不过还存在一个问题,可能我们需要对标题的长度做出一些限制。这时候,我们可能无法再继续使用自带的the_title()函数了。我们可以自己写一个自定义函数,如下:

function customTitle($limit) {
$title = get_the_title($post->ID);
if(strlen($title) > $limit) {
$title = mb_strcut($title, 0, $limit,’utf-8′);
}
echo $title;
}

1
2
3
4
然后我们在使用时可以通过```<?php customTitle(55); ?>```方式进行输出,并截取标题的长度。


完整的调用代码如下:

<?php wp_list_categories(‘include=4&title_li=&style=none’); ?>


<?php query_posts(‘cat=4&showposts=8’); ?>
<?php while (have_posts()) : the_post(); ?>

  • <a href=”<?php the_permalink() ?>” rel=”bookmark” class=”title”><?php customTitle(55); ?><?php echo date(‘y-m-d’,get_the_time(‘U’));?>

  • <?php endwhile; ?>
    `