wordpress分页链接伪静态,分页连接后加html

本文介绍了如何在WordPress中实现分页链接的伪静态效果,通过修改主题文件和添加过滤器函数,将分页链接从`/page/2`形式变为`list_3_2.html`形式。步骤包括在主题`functions.php`中添加代码,调用分页函数,并在后台设置固定链接。此外,还提供了两种不同的方法来实现这一目标,帮助用户优化网站的URL结构。
摘要由CSDN通过智能技术生成

话不多说先看wordpress分页链接伪静态效果(类似织梦的分页链接):

伪静态前:www.xxx.com/xinwenzhongxin/page/2

伪静态后:www.xxx.com/xinwenzhongxin/list_3_2.html

第一步:在您的主题fonction.php中加入下方代码

/**分页   前端调用  php kriesi_pagination($query_string);  **/

function kriesi_pagination($query_string){
global $posts_per_page, $paged,$wp_query;
$cat_ID = get_query_var('cat');
$my_query = new WP_Query($query_string ."&posts_per_page=-1");
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged - 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo "<div class='pagination'>";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href='list_".$cat_ID."_".$prev.".html'>上一页</a>":"";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<a href='list_".$cat_ID."_".$i.".html' class='current'>".$i."</a>":"<a href='list_".$cat_ID."_".$i.".html'>".$i."</a>";
}
}
echo ($paged < $pages && $showitems < $pages) ? "<a href='list_".$cat_ID."_".$next.".html'>下一页</a>" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='list_".$cat_ID."_".$pages.".html'>最后</a>":"";
echo "</div>\n";
}
}
//重定义分页连接
add_filter('rewrite_rules_array','add_rewrite_rules');
function add_rewrite_rules($aRules){
        $aNewRules = array(
                '(.+)/list_?(.+)_?([0-9]{1,})\.html' => 'index.php?category_name=$matches[1]&paged=$matches[3]',
        );
        $aRules = $aNewRules + $aRules;
        return $aRules;
}
//禁止跳转到原来的链接
add_filter( 'redirect_canonical', 'post_custom_redirect_url');
function post_custom_redirect_url($output){
return false;
}

第二步:在您的需要调用分页的主题页面上加入 <? php kriesi_pagination($query_string); ?> 调用分页代码。

第三部:在后台》设置固定连接中设置固定连接为: /%category%/%post_id%.html

wordpress分页链接伪静态在分页连接后加html就完成了,是不是很简单。

方法二、

//重定义分页连接 
add_filter('rewrite_rules_array','add_rewrite_rules');
function add_rewrite_rules($aRules){
        $aNewRules = array(
			'(.+?)/page-([0-9]{1,}).html$' =>'index.php?category_name=$matches[1]&paged=$matches[2]',
			
        );
        $aRules = $aNewRules + $aRules; 
        return $aRules;
}

add_filter('rewrite_rules_array','add_rewrite_ruless');
function add_rewrite_ruless($aRules){
        $aNewRules = array(
			
			'tag/(\d+)/page-(\d+).html$'   => 'index.php?tag_id=$matches[1]&paged=$matches[2]',
        );
        $aRules = $aNewRules + $aRules; 
        return $aRules;
}
 
add_filter( 'redirect_canonical', 'post_custom_redirect_url');
function post_custom_redirect_url($output){
	return false;
}
 

function native_pagenavi(){   
 global $wp_query, $wp_rewrite;  
 
 $wp_query->query_vars["paged"];         //当前页数
 $wp_query->query_vars["category_name"]; //当前分类名

 $category = '/'.$wp_query->query["category_name"].'/';

 if($wp_query->query["category_name"] == ""){

 	 $category = '/tag/'.$wp_query->query_vars["tag_id"].'/';

 }
 echo "<p>" .$category ."</p>";

 $wp_query->query_vars["paged"] > 1 ? $current = $wp_query->query_vars["paged"] : $current = 1; 

//print_R($wp_query);

  $pagination = array(   
  	"base"       => "",  
  	"format"     => "",  
  	"total"  	 => $wp_query->max_num_pages, //最大页数
  	"current" 	 => $current,  
  	"prev_text"  => "« ", 
  	"next_text"  => " »"  
   ); 



 $pagination["base"] = user_trailingslashit( trailingslashit( remove_query_arg("s",$category) ) . "page-%#%.html", ); 
  

 if( !empty($wp_query->query_vars["s"]) ) { 
	   $pagination["add_args"] = array("s"=>get_query_var("s"));  
	    
   }
  
    echo paginate_links($pagination);
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远的WEB小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值