wordpress获取上一篇下一篇的函数有很多,默认使用的是上一篇“previous_post_link()”下一篇“next_post_link()”,但是这两个函数输出的是一个完整的a标签,虽然也可以自定义,但是怎么自定义它输出的还是html。
在一些比较个性化的主题里面,这两个函数就显得很不个性化了,所以需求来了,wordpress里怎么单独获取到上一篇下一篇的网址标题这些呢?
我们需要“get_adjacent_post()”这个函数。代码示例如下:
$prev_obj = get_adjacent_post('','',true);//获取上一篇
$next_obj = get_adjacent_post('','',false);//获取下一篇
函数输出的是一个对象,里面包含了文章id,标题,发布时间,文章内容等等信息,获取对应信息直接用“$prev_obj->XX”即可,例如“$prev_obj->ID”可以获取上一篇文章的id,“$prev_obj->post_title”可以获取上一篇文章的标题。
最后还要来说下单独获取网址,直接用”$prev_obj->guid“获取到的是上一篇的动态地址,所以我们还得用”get_permalink“函数配合下才能获取到正确的网址,代码示例如下
echo get_permalink($prev_obj->ID);//获取上一篇文章的完整静态网址
为了保证在没有上一篇或者下一篇的情况下不报错还要在使用前判断下,完整代码如下:
欢迎访问秀主题博客,分享简单实用WP教程<?php
$prev_obj = get_adjacent_post('','',true);//获取上一篇
$next_obj = get_adjacent_post('','',false);//获取下一篇
if($prev_obj){
echo '<a href="'.get_permalink($prev_obj->ID).'">上一篇:'.$prev_obj->post_title.'</a>';
}
if($next_obj){
echo '<a href="'.get_permalink($next_obj->ID).'">下一篇:'.$next_obj->post_title.'</a>';
}
?>