做 WordPress 主题时,为了让用户更方便的查看网站文章降低跳出率,我们会为文章生成一个上一篇与下一篇的链接,前面也已经讲了 WordPress 自带的 previous_post_link 方法生成上一篇与下一篇的超链接,不清楚可以看这篇文章 WordPress 函数 previous_post_link 获取上一篇链接。但是这种方法生成的链接可定制性不高,比如我需要把文章的特色图昨晚链接背景?今天教大家使用 get_previous_post 与 get_previous_post 函数高级 DIY 方式写文章上一篇与下一篇功能。
get_previous_post
- get_previous_post( bool $in_same_term = false, array|string $excluded_terms = '',string $taxonomy = 'category' )
参数说明
$in_same_term
(bool) (Optional) 是否是同一个分类.
Default value: false
$excluded_terms
(array|string) (Optional) 数组或者逗号分隔的排除文章 id.
返回值
如果成功,返回 POST 对象。如果未设置全局$POST,则为 NULL。如果不存在对应的 POST,则为空字符串。
- WP_Post Object (
- [ID] => 2283
- [post_author] => 1
- [post_date] => 2019-09-13 21:39:48
- [post_date_gmt] => 2019-09-13 13:39:48
- [post_content] => 文章内容
- [post_title] => 文章标题
- [post_excerpt] =>文章摘要
- [post_status] => publish
- [comment_status] => open
- [ping_status] => closed
- [post_password] =>
- [post_name] =>文章别名
- [to_ping] =>
- [pinged] =>
- [post_modified] => 2019-09-13 21:39:48
- [post_modified_gmt] => 2019-09-13 13:39:48
- [post_content_filtered] =>
- [post_parent] => 0
- [guid] => https://www.beizigen.com/?p=2283
- [menu_order] => 0
- [post_type] => post
- [post_mime_type] =>
- [comment_count] => 0
- [filter] => raw
- )
get_next_post
get_next_post 与 get_previous_post 方法使用相同,参考上面的参数即可,这里不多讲了。
上一篇与下一篇功能
- $prev_post = get_previous_post();
- if(!empty($prev_post)){
- echo '链接'.get_permalink($prev_post->ID);
- echo '标题'.$prev_post->post_title;
- //有文章id了还不简单?
- }
- $next_post = get_next_post();
- if(!empty($next_post)){
- //参考上面
- }
我就贴实例了,效果就看上面的那张图吧。