Wordpress调用当前分类的文章并实现列表分页
2021-11-18小猴建站 阅读()相关主题:
用Worderpress做企业站的时候经常会用到调用当前栏目的文章的功能,如果栏目很多,单独设立一个模板不便于管理,可以使用同一个模板也可以是现在这个功能。
Wordpress调用当前分类的文章
通常情况下,准确调用某个栏目分类需要指定该分类的ID,比如:
<?php query_posts('cat=6&showposts=30&orderby=new'); //cat=6 指的就是分类ID为6的内容 while (have_posts()) : the_post(); ?> //省略代码段 <?php endwhile;?>
这里其实只需要让 cat=6 这个ID随着当前分类变化即可,修改代码如下
<?php global $wp_query; $cat_ID = get_query_var('cat'); query_posts('cat='.$cat_ID.'&showposts=30&orderby=new'); while (have_posts()) : the_post(); ?> //省略代码段 <?php endwhile;?>
可以根据排序要求,修改orderby后的参数,如:id、new等。但这个写法会有缺陷,就是不能正常分页,修改如下:
Wordpress分类列表分页
<?php global $wp_query; $cat_ID = get_query_var('cat'); $limit = get_option('posts_per_page'); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; //下面句中的limit=10这个参数就是我们每个分页所要显示的篇数 query_posts('cat=' . $cat_ID . '&showposts=' . $limit=10 . '&paged=' . $paged); $wp_query->is_archive = true; $wp_query->is_home = false; while (have_posts()) : the_post(); ?> //省略代码段 <?php endwhile;?>
分页的HTML代码可以采用插件 WP Page Numbers,但好像WP不能直接搜到了,到我的网盘下载
链接:https://pan.baidu.com/s/1YmUGwkaGrJlNL6VevXRP9w 提取码:y3bk
或者自己写都可以,在模板的 functions.php 增加如下代码,具体的HTML代码自行修改。
/* *列表分页 */ function lingfeng_pagenavi( $range = 4 ) { global $paged,$wp_query; if ( !$max_page ) { $max_page = $wp_query->max_num_pages; } if( $max_page >1 ) { echo "<div class='fenye'>"; if( !$paged ){ $paged = 1; } if( $paged != 1 ) { echo "<a href='".get_pagenum_link(1) ."' class='extend' title='跳转到首页'>首页</a>"; } previous_posts_link('上一页'); if ( $max_page >$range ) { if( $paged <$range ) { for( $i = 1; $i <= ($range +1); $i++ ) { echo "<a href='".get_pagenum_link($i) ."'"; if($i==$paged) echo " class='current'";echo ">$i</a>"; } }elseif($paged >= ($max_page -ceil(($range/2)))){ for($i = $max_page -$range;$i <= $max_page;$i++){ echo "<a href='".get_pagenum_link($i) ."'"; if($i==$paged)echo " class='current'";echo ">$i</a>"; } }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){ for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){ echo "<a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a>"; } } }else{ for($i = 1;$i <= $max_page;$i++){ echo "<a href='".get_pagenum_link($i) ."'"; if($i==$paged)echo " class='current'";echo ">$i</a>"; } } next_posts_link('下一页'); if($paged != $max_page){ echo "<a href='".get_pagenum_link($max_page) ."' class='extend' title='跳转到最后一页'>尾页</a>"; } echo '<span>共['.$max_page.']页</span>'; echo "</div> "; } }
当前栏目分类高亮功能
<div class="channel"> <ul> <li <?php global $wp_query; $cat_ID = get_query_var('cat'); if($cat_ID == "3"){ echo ' class="current-cat"'; }else echo '';?>><a href="<?php echo get_category_link(3);?>" rel="nofollow" >不限</a></li> <?php wp_list_cats('child_of=' . get_category_root_id($cat) . '&depth=1&hide_empty=0&hierarchical=1');?> </ul> </div>
这里的调用的是ID=3父级分类的下的二级子分类,要固定下来。样式参考:
<style type="text/css"> .current-cat{background:#c00;color:#fff} </style>
相关文章
- Wordpress栏目用分页插件与其他插件冲突出现404错误解决办法
- Wordpress首页列表页文章根据权重倒序排序
- Wordpress文章缩略图特色图片the_post_thumbnail函数应用
- Wordpress默认编辑器添加文字大小、字体
- Wordpress设置上传图片默认使用全尺寸
- Wordpress自定义字段插件Advanced Custom Fields使用及调用字段亲测有效
- Wordpress函数is_home判断是否首页失效及处理办法
- Wordpress插件contact form 7设置占位符描述文本placeholder
- Wordpress在任意页面调用联系表单简码
- Wordpress反复中毒,如何有效防止利用漏洞安装文件管理插件
- Wordpress调用指定分类有某TAG标签的文章
- Wordpress禁止指定用户名注册及增加邮箱验证