WordPress 获取上一篇下一篇文章的标题和链接
如何获取到 WordPress 上一篇下一篇文章的链接,我马上想到了 previous_post_link() 和 next_post_link() 函数,这两个函数是输出 WordPress 上一篇下一篇文章的代码,通过查看其 API 文档,发现并没有直接获取链接的方式,整个函数是直接输出的。
一般我们添加上一篇和下一篇文章时的代码是这样子的:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> previous_post_link<span style="color: #009900;">(</span><span style="color: #0000ff;">'%link'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'%title'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">?></span><br><span style="color: #000000; font-weight: bold;"><?php</span> next_post_link<span style="color: #009900;">(</span><span style="color: #0000ff;">'%link'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'%title'</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
该代码最终解析出来的代码大概如下:
1 |
<div class="codecolorer-container html4strict geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="html4strict codecolorer" style="white-space:nowrap"><span style="color: #009900;"><<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"……"</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"external nofollow"</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"external nofollow"</span> ></span> …… <span style="color: #009900;"><<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>></span><br><span style="color: #009900;"><<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"……"</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"external nofollow"</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"external nofollow"</span> ></span> …… <span style="color: #009900;"><<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>></span></div></div> |
这样子的结构是非常简单,如果我要增加 title、target 等属性值时,单靠上面两个函数是办不到的。
其实要解决这个问题很简单,不知道大家有没有接触到这两个函数:get_previous_post、get_next_post。通过这两个函数我们可以获取到上一篇和下一篇文章的相关信息。
大家可以到官网看看这两个函数的介绍。
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #000088;">$prev_post</span> <span style="color: #339933;">=</span> get_previous_post<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><span style="color: #000088;">$next_post</span> <span style="color: #339933;">=</span> get_next_post<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?></span></div></div> |
上一篇文字:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$prev_post</span><span style="color: #339933;">-></span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
上一篇链接:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> get_permalink<span style="color: #009900;">(</span> <span style="color: #000088;">$prev_post</span><span style="color: #339933;">-></span><span style="color: #004000;">ID</span> <span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
下一篇文字:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$next_post</span><span style="color: #339933;">-></span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
下一篇链接:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> get_permalink<span style="color: #009900;">(</span> <span style="color: #000088;">$next_post</span><span style="color: #339933;">-></span><span style="color: #004000;">ID</span> <span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
好了,下面就来干货,说下解决问题的方法。只要将:
1 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span> previous_post_link<span style="color: #009900;">(</span><span style="color: #0000ff;">'%link'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'<<'</span><span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">?></span><br><span style="color: #000000; font-weight: bold;"><?php</span> next_post_link<span style="color: #009900;">(</span><span style="color: #0000ff;">'%link'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'>>'</span><span style="color: #009900;">)</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
替换成:
1 2 3 4 5 |
<div class="codecolorer-container php geshi" style="overflow:auto;white-space:nowrap;width:100%;"><div class="php codecolorer" style="white-space:nowrap"><span style="color: #000000; font-weight: bold;"><?php</span><br><span style="color: #000088;">$prev_post</span> <span style="color: #339933;">=</span> get_previous_post<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br><span style="color: #b1b100;">if</span> <span style="color: #009900;">(</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">(</span> <span style="color: #000088;">$prev_post</span> <span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?></span><br><span style="color: #339933;"><</span>a title<span style="color: #339933;">=</span><span style="color: #0000ff;">"<?php echo <span style="color: #006699; font-weight: bold;">$prev_post->post_title</span>; ?>"</span><br> href<span style="color: #339933;">=</span><span style="color: #0000ff;">"<?php echo get_permalink( <span style="color: #006699; font-weight: bold;">$prev_post->ID</span> ); ?>"</span><br> rel<span style="color: #339933;">=</span><span style="color: #0000ff;">"external nofollow"</span> <span style="color: #339933;">></span><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$prev_post</span><span style="color: #339933;">-></span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span><span style="color: #339933;"></</span>a<span style="color: #339933;">></span><br><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span><br><span style="color: #000000; font-weight: bold;"><?php</span><br><span style="color: #000088;">$next_post</span> <span style="color: #339933;">=</span> get_next_post<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br><span style="color: #b1b100;">if</span> <span style="color: #009900;">(</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">(</span> <span style="color: #000088;">$next_post</span> <span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?></span><br><span style="color: #339933;"><</span>a title<span style="color: #339933;">=</span><span style="color: #0000ff;">"<?php echo <span style="color: #006699; font-weight: bold;">$next_post->post_title</span>; ?>"</span><br> href<span style="color: #339933;">=</span><span style="color: #0000ff;">"<?php echo get_permalink( <span style="color: #006699; font-weight: bold;">$next_post->ID</span> ); ?>"</span><br> rel<span style="color: #339933;">=</span><span style="color: #0000ff;">"external nofollow"</span> <span style="color: #339933;">></span><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$next_post</span><span style="color: #339933;">-></span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span><span style="color: #339933;"></</span>a<span style="color: #339933;">></span><br><span style="color: #000000; font-weight: bold;"><?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?></span></div></div> |
通过上面的替换,问题就完美解决了。除了可以添加 title 属性外,大家如果有需要也可以加上新窗口打开的属性:target:"_blank"。
由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » WordPress 获取上一篇下一篇文章的标题和链接
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » WordPress 获取上一篇下一篇文章的标题和链接