距上一次真正折腾WP已经相隔好几个月了,是由于期间各种原因叠加所致,无奈呀,杯具呀!
话说WP自带的就“较早文章”和“最近文章”两个内置函数,首页文章显示数又有限,如果要看很早以前的,那要翻得哟~所以我们希望有一排数字,可以让我们喜欢点哪一页就哪一页。
![[非插件] 实现 WordPress 分页导航-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客](http://hangzhou01.oss-cn-hangzhou.aliyuncs.com/old/e2db9239dbb2a60dadbc9b5147cadc99.jpg)
分页导航
怎样?效果还过得去吧!有俺强力CSS代码技术做后盾,不怕做不出就怕想不出好样式~哇哈哈,臭屁臭屁了……
进入折腾步骤:
一、添加功能代码至 functions.php(的php循环内)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<span class="kw2">function</span> par_pagenavi<span class="br0">(</span><span class="re0">$range</span> <span class="sy0">=</span> <span class="nu0">9</span><span class="br0">)</span><span class="br0">{</span> <span class="kw2">global</span> <span class="re0">$paged</span><span class="sy0">,</span> <span class="re0">$wp_query</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">(</span> <span class="sy0">!</span><span class="re0">$max_page</span> <span class="br0">)</span> <span class="br0">{</span><span class="re0">$max_page</span> <span class="sy0">=</span> <span class="re0">$wp_query</span><span class="sy0">-></span><span class="me1">max_num_pages</span><span class="sy0">;</span><span class="br0">}</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$max_page</span> <span class="sy0">></span> <span class="nu0">1</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">if</span><span class="br0">(</span><span class="sy0">!</span><span class="re0">$paged</span><span class="br0">)</span><span class="br0">{</span><span class="re0">$paged</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span><span class="br0">}</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">!=</span> <span class="nu0">1</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span> <span class="sy0">.</span> <span class="st0">"' class='extend' title='跳转到首页'> 返回首页 </a>"</span><span class="sy0">;</span><span class="br0">}</span> previous_posts_link<span class="br0">(</span><span class="st_h">' 上一页 '</span><span class="br0">)</span><span class="sy0">;</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$max_page</span> <span class="sy0">></span> <span class="re0">$range</span><span class="br0">)</span><span class="br0">{</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$paged</span> <span class="sy0"><</span> <span class="re0">$range</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">for</span><span class="br0">(</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0"><=</span> <span class="br0">(</span><span class="re0">$range</span> <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">)</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">++</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span> <span class="sy0">.</span><span class="st0">"'"</span><span class="sy0">;</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$i</span><span class="sy0">==</span><span class="re0">$paged</span><span class="br0">)</span><span class="kw1">echo</span> <span class="st0">" class='current'"</span><span class="sy0">;</span><span class="kw1">echo</span> <span class="st0">"><span class="es4">$i</span></a>"</span><span class="sy0">;</span><span class="br0">}</span><span class="br0">}</span> <span class="kw1">elseif</span><span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">>=</span> <span class="br0">(</span><span class="re0">$max_page</span> <span class="sy0">-</span> <span class="kw3">ceil</span><span class="br0">(</span><span class="br0">(</span><span class="re0">$range</span><span class="sy0">/</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="br0">{</span> <span class="kw1">for</span><span class="br0">(</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="re0">$max_page</span> <span class="sy0">-</span> <span class="re0">$range</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0"><=</span> <span class="re0">$max_page</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">++</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span> <span class="sy0">.</span><span class="st0">"'"</span><span class="sy0">;</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$i</span><span class="sy0">==</span><span class="re0">$paged</span><span class="br0">)</span><span class="kw1">echo</span> <span class="st0">" class='current'"</span><span class="sy0">;</span><span class="kw1">echo</span> <span class="st0">"><span class="es4">$i</span></a>"</span><span class="sy0">;</span><span class="br0">}</span><span class="br0">}</span> <span class="kw1">elseif</span><span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">>=</span> <span class="re0">$range</span> <span class="sy0">&&</span> <span class="re0">$paged</span> <span class="sy0"><</span> <span class="br0">(</span><span class="re0">$max_page</span> <span class="sy0">-</span> <span class="kw3">ceil</span><span class="br0">(</span><span class="br0">(</span><span class="re0">$range</span><span class="sy0">/</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="br0">{</span> <span class="kw1">for</span><span class="br0">(</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">-</span> <span class="kw3">ceil</span><span class="br0">(</span><span class="re0">$range</span><span class="sy0">/</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0"><=</span> <span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">+</span> <span class="kw3">ceil</span><span class="br0">(</span><span class="br0">(</span><span class="re0">$range</span><span class="sy0">/</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">++</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span> <span class="sy0">.</span><span class="st0">"'"</span><span class="sy0">;</span><span class="kw1">if</span><span class="br0">(</span><span class="re0">$i</span><span class="sy0">==</span><span class="re0">$paged</span><span class="br0">)</span> <span class="kw1">echo</span> <span class="st0">" class='current'"</span><span class="sy0">;</span><span class="kw1">echo</span> <span class="st0">"><span class="es4">$i</span></a>"</span><span class="sy0">;</span><span class="br0">}</span><span class="br0">}</span><span class="br0">}</span> <span class="kw1">else</span><span class="br0">{</span><span class="kw1">for</span><span class="br0">(</span><span class="re0">$i</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="re0">$i</span> <span class="sy0"><=</span> <span class="re0">$max_page</span><span class="sy0">;</span> <span class="re0">$i</span><span class="sy0">++</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span> <span class="sy0">.</span><span class="st0">"'"</span><span class="sy0">;</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$i</span><span class="sy0">==</span><span class="re0">$paged</span><span class="br0">)</span><span class="kw1">echo</span> <span class="st0">" class='current'"</span><span class="sy0">;</span><span class="kw1">echo</span> <span class="st0">"><span class="es4">$i</span></a>"</span><span class="sy0">;</span><span class="br0">}</span><span class="br0">}</span> next_posts_link<span class="br0">(</span><span class="st_h">' 下一页 '</span><span class="br0">)</span><span class="sy0">;</span> <span class="kw1">if</span><span class="br0">(</span><span class="re0">$paged</span> <span class="sy0">!=</span> <span class="re0">$max_page</span><span class="br0">)</span><span class="br0">{</span><span class="kw1">echo</span> <span class="st0">"<a href='"</span> <span class="sy0">.</span> get_pagenum_link<span class="br0">(</span><span class="re0">$max_page</span><span class="br0">)</span> <span class="sy0">.</span> <span class="st0">"' class='extend' title='跳转到最后一页'> 最后一页 </a>"</span><span class="sy0">;</span><span class="br0">}</span><span class="br0">}</span> <span class="br0">}</span> |
二、添加美化代码至主题style.css
1 2 3 |
<span class="re1">.page_navi</span><span class="br0">{</span><span class="kw1">width</span><span class="sy0">:</span><span class="re3">100%</span><span class="sy0">;</span><span class="kw1">height</span><span class="sy0">:</span><span class="re3">36px</span><span class="sy0">;</span><span class="kw1">line-height</span><span class="sy0">:</span><span class="re3">36px</span><span class="sy0">;</span><span class="kw1">text-align</span><span class="sy0">:</span><span class="kw2">center</span><span class="sy0">;</span><span class="kw1">overflow</span><span class="sy0">:</span><span class="kw2">hidden</span><span class="sy0">;</span><span class="kw1">padding-top</span><span class="sy0">:</span><span class="re3">1em</span><span class="sy0">;</span><span class="br0">}</span> <span class="re1">.page_navi</span> a<span class="br0">{</span><span class="kw1">padding</span><span class="sy0">:</span><span class="re3">3px</span> <span class="re3">8px</span><span class="sy0">;</span><span class="kw1">margin</span><span class="sy0">:</span><span class="re3">2px</span><span class="sy0">;</span><span class="kw1">text-decoration</span><span class="sy0">:</span><span class="kw2">none</span><span class="sy0">;</span><span class="kw1">color</span><span class="sy0">:</span><span class="re0">#888</span><span class="sy0">;</span><span class="kw1">border</span><span class="sy0">:</span><span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#ccf</span><span class="sy0">;</span><span class="br0">}</span> <span class="re1">.page_navi</span> a<span class="sy0">:</span><span class="kw5">hover</span><span class="sy0">,</span><span class="re1">.page_navi</span> a<span class="re1">.current</span><span class="br0">{</span><span class="kw1">border</span><span class="sy0">:</span><span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#356aa0</span><span class="sy0">;</span><span class="kw1">color</span><span class="sy0">:</span><span class="re0">#356aa0</span><span class="sy0">;</span><span class="kw1">font-weight</span><span class="sy0">:</span><span class="kw2">bolder</span><span class="sy0">;</span><span class="br0">}</span> |
三、添加调用代码至主题index.php、archive.php、category.php、search.php
1 |
<div class="page_navi"><span class="kw2"><?php</span> par_pagenavi<span class="br0">(</span><span class="nu0">9</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?></span></div> |
OK,大功造成!又可以干掉一个已为数不多的插件咯!
