很有用的教程和wp函数,解决了我一个大问题,在此记录下。
WP的大多数模板在默认情况下首页都只显示最新的若干条最新文章。如果想要在首页以栏目版块的形式调用文章如何做到呢?
首先,在页面中调用某个栏目需要用到wp_list_categories()函数;其中函数可以设置inlcude参数,设置对应的分类目录编号,即可显示出相应分类目录的名称。例如:<?php wp_list_categories(‘include=4&title_li=&style=none’); ?> 这个语句就是显示cat为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语句中间,插入需要显示数组的函数。通过这些函数,我们可以输出诸如链接地址<?php the_permalink() ?>、标题名称<?php the_title(); ?>、日期等信息<?php echo date(‘y-m-d’);?>。
通过上面几个步骤,就可以完成栏目内容的调用了。
不过还存在一个问题,可能我们需要对标题的长度做出一些限制。这时候,我们可能无法再继续使用自带的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;
}
然后我们在使用时可以通过<?php customTitle(55); ?>方式进行输出,并截取标题的长度。
完整的调用代码如下:
<h4 class=”h4_title”><?php wp_list_categories(‘include=4&title_li=&style=none’); ?></h4>
<?php query_posts(‘cat=4&showposts=8′); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark” class=”title”><?php customTitle(55); ?></a><span class=”post_time”><?php echo date(‘y-m-d’,get_the_time(‘U’));?></span></li>
<?php endwhile; ?>
转自:frontopen
技术达人???