|
<b>[文章目录]</b>
<ul id="index-ul">
<li>一:在functions.php中添加如下代码</li>
<li>二:在你的首页或者是其它的页面中添加你把分页放在的位置上即可</li>
</ul>
</div>
同学们好,今天为大家介绍一下关于首页文章列表及分类目录下的文章列表分页功能的实现<br />
如何实现分类目录和页面的调用去看看我的另一篇文章<br />
<strong>《关于最符合SEO主题模板的细节修改之三(分类目录和页面的调用)》</strong>
<h2 id="title-0">一:在functions.php中添加如下代码
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><span class="keyword">function</span> theme_echo_pagenavi(){</li>
<li><span class="keyword">global</span> <span class="vars">$request</span>, <span class="vars">$posts_per_page</span>, <span class="vars">$wpdb</span>, <span class="vars">$paged</span>;</li>
<li class="alt"><span class="vars">$maxButtonCount</span> = 9; <span class="comment">//显示的最多链接数目 </span></li>
<li><span class="keyword">if</span> (!is_single()) {</li>
<li class="alt"><span class="keyword">if</span>(!is_category()) {</li>
<li>preg_match('#FROM\s(.*)\sORDER BY#siU', <span class="vars">$request</span>, <span class="vars">$matches</span>);</li>
<li class="alt">} <span class="keyword">else</span> {</li>
<li>preg_match('#FROM\s(.*)\sGROUP BY#siU', <span class="vars">$request</span>, <span class="vars">$matches</span>);</li>
<li class="alt">}</li>
<li><span class="vars">$fromwhere</span> = <span class="vars">$matches</span>[1];</li>
<li class="alt"><span class="vars">$numposts</span> = <span class="vars">$wpdb</span>->get_var(<span class="string">"SELECT COUNT(DISTINCT ID) FROM $fromwhere"</span>);</li>
<li><span class="vars">$max_page</span> = <span class="func">ceil</span>(<span class="vars">$numposts</span> /<span class="vars">$posts_per_page</span>);</li>
<li class="alt"><span class="keyword">if</span>(<span class="func">empty</span><span class="keyword">empty</span>(<span class="vars">$paged</span>)) {</li>
<li><span class="vars">$paged</span> = 1;</li>
<li class="alt">}</li>
<li><span class="vars">$start</span> = max(1, <span class="vars">$paged</span> - <span class="func">intval</span>(<span class="vars">$maxButtonCount</span>/2));</li>
<li class="alt"><span class="vars">$end</span> = min(<span class="vars">$start</span> + <span class="vars">$maxButtonCount</span> - 1, <span class="vars">$max_page</span>);</li>
<li><span class="vars">$start</span> = max(1, <span class="vars">$end</span> - <span class="vars">$maxButtonCount</span> + 1);</li>
<li class="alt"><span class="keyword">if</span>(<span class="vars">$paged</span> == 1){</li>
<li><span class="func">echo</span> <span class="string">"<span>首页</span>"</span>;</li>
<li class="alt"><span class="func">echo</span> <span class="string">"<span>上一页</span>"</span>;</li>
<li>}<span class="keyword">else</span>{</li>
<li class="alt"><span class="func">echo</span> '<a href=<span class="string">"'.get_pagenum_link().'"</span>><span>首页</span></a>';</li>
<li><span class="func">echo</span> '<a href=<span class="string">"'.get_pagenum_link($paged-1).'"</span>><span>上一页</span></a>';</li>
<li class="alt">}</li>
<li><span class="keyword">for</span>(<span class="vars">$i</span>=<span class="vars">$start</span>; <span class="vars">$i</span><=<span class="vars">$end</span>; <span class="vars">$i</span>++){</li>
<li class="alt"><span class="keyword">if</span>(<span class="vars">$i</span> == <span class="vars">$paged</span>) {</li>
<li><span class="func">echo</span> <span class="string">"<span class=\"page_num on\">[$i]</span>"</span>;</li>
<li class="alt">} <span class="keyword">else</span> {</li>
<li><span class="func">echo</span> '<a href=<span class="string">"'.get_pagenum_link($i).'"</span>><span <span class="keyword">class</span>=<span class="string">"page_num"</span>>['.<span class="vars">$i</span>.']</span></a>';</li>
<li class="alt">}</li>
<li>}</li>
<li class="alt"><span class="keyword">if</span>(<span class="vars">$paged</span> == <span class="vars">$max_page</span>){</li>
<li><span class="func">echo</span> <span class="string">"<span>下一页</span>"</span>;</li>
<li class="alt"><span class="func">echo</span> <span class="string">"<span>末页</span> "</span>;</li>
<li>}<span class="keyword">else</span>{</li>
<li class="alt"><span class="func">echo</span> '<a href=<span class="string">"'.get_pagenum_link($paged+1).'"</span>><span>下一页</span></a>';</li>
<li><span class="func">echo</span> '<a href=<span class="string">"'.get_pagenum_link($max_page).'"</span>><span>末页</span></a>';</li>
<li class="alt">}</li>
<li><span class="func">echo</span> <span class="string">" 共{$numposts}条记录, {$max_page}页."</span>;</li>
<li class="alt">}</li>
<li>}</li>
</ol>
</div>
<h2 id="title-1">二:在你的首页或者是其它的页面中添加你把分页放在的位置上即可
那么它的调用代码如下
<div class="dp-highlighter">
<ol class="dp-c" start="1">
<li class="alt"><?php theme_echo_pagenavi(); ?></li>
</ol>
</div>
通过个这个代码进行调用上面的函数,可实现分页功能
当然我们可以在网络上去寻找更多的分页源代码,然后通过函数调用,添加样式即可
|
|