与wordpress BLOG主题模板不同,wordpress CMS主题模板的布局相对来说要美观一些,会在首页布局上有不同的模块,如:幻灯模块、滑动门模块、选项卡模块、分类列表模块等。本章我们来介绍一下wordpress CMS主题首页的分类列表模块的实现,如下图的效果:
第一步:设置需要在首页显示的分类的ID
这个一般在wrodpress CMS主题的后台主题设置里设置,然后在模板代码中获取这个设置里的数据。本节,就直接在模板中设置,代码如下:
$cids = array( 1, 2, 3, 4 ); //这里设置了4个分类ID:1、2、3、4
第二步:循环调用分类:
通过for循环来循环这个$cids数组,获取分类ID,代码如下:
for($a=1; $a<=$len; $a++){
$cid = $cids[$a-1]; //当前分类ID//这里调用每一个分类的文章
}
第三步:再在for循环中通过query_posts()来查询每个分类下的文章列表,全部代码如下:
<?php //首页分类布局开始
$cids = array( 1, 2, 3, 4 ); //这里设置了4个分类ID:1、2、3、4
$len = count($cids); //获取数组长度
for($a=1; $a<=$len; $a++){ //循环获取分类ID
$cid = $cids[$a-1]; //当前分类ID
?>
<div class="index_3 row">
<h2>
<a href="<?php echo get_category_link($cid); ?>"><?php echo get_cat_name($cid); ?></a>
<span><a href="<?php echo get_category_link($cid); ?>">更多</a></span>
</h2>
<div class="index_3_top">
<div class="left">
<?php
query_posts('posts_per_page=4&caller_get_posts=1&orderby=modified&cat='.$cid);
while (have_posts()) : the_post();
echo '<a target="_blank" href="'.get_permalink().'" class="title" title="'.$post->post_title.'">';
if (has_post_thumbnail()) { //如果缩略图存在,就调用缩略图
the_post_thumbnail( 'thumbnail',array( 'alt' => trim(strip_tags( $post->post_title )), 'class' => 'home-thumb'));
}else { //如果缩略图不存在,就调用catch_first_image()方法获取第一张图或默认图
echo '<img src="'.catch_first_image().'" alt="'.$post->post_title.'" />';
}
echo '<h3>'.$post->post_title.'</h3>';
echo '</a>';
endwhile;
wp_reset_query();
?>
</div>
<div class="center">
<?php
query_posts('posts_per_page=12&caller_get_posts=1&orderby=rand&cat='.$cid);
while (have_posts()) : the_post();
echo '<a target="_blank" href="'.get_permalink().'" class="title" title="'.$post->post_title.'">'.$post->post_title.'</a>';
endwhile;
wp_reset_query();
?>
</div>
</div>
</div>
<?php } ?>
通过上面的代码,我们就为wordpress CMS主题的首页添加了 循环分类文章列表的布局。当然,在我们循环调用这些分类列表时,可以让不同的分类模块显示不同的效果,也可以在多个分类模块之间插入广告或其它代码模块…… ,这些都是可以轻松实现的,可以看一下本站的首页,分类模块是先按大分类布局,然后,再在这个大分类模块里调用大分类的子分类模块,这就实现了整体布局的多样性,使wordpress主题更加的炫。当然,wordpress主题布局越复杂、调用越多,对打开速度是有一定影响的,这也就正应了一句话:鱼与熊掌不可兼得。具体,可以根据自己的需求来开发我们自己的wordpress CMS主题。
很不错的内容,谢谢分享
没得积分只能来这里看看
想学习一下 ,没得积分只能来这里看看
$cid = $cids[$a-1]
这一句看不太懂
$cids是一个数组,它的元素是分类ID
$a是是for循环的参数,从1开始;
$cid是分类的ID
当第一次for循环时,$a=1
那么$cids[$a-1] = $cids[0],即$cids数组的第一个元素值。
写得不错呀,学习了。