wordpress下一篇next_post_link函数的使用方法-WordPress开发教程

我们在用wordpress开发时经常会用到上一篇下一篇的功能,<?php previous_post_link('%link') ?> <?php next_post_link('%link') ?>最简单的方式就可以实现,

我们在用wordpress开发时经常会用到上一篇下一篇的功能,<?php previous_post_link('%link') ?> <?php next_post_link('%link')  ?>最简单的方式就可以实现,那如果要进行一些改造要如何写呢?一起来看看

首先我们要知道函数的用法

<?php next_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ); ?>

$format可以写作为%link

$link指的是链接的文本,默认是%title

$in_same_term指的是是否在相同的分类,默认是false不是相同分类

$excluded_terms指的是在显示上一篇或下一篇时是否排除掉某分类,缺省不排除,如果排除,把分类ID列在此处,以英文逗号分隔

$taxonomy指的是分类名称,默认是category

实例

<?php next_post_link('Next: %link') //实现下一篇功能?> 

只需要把这两段代码放入你的HTML程序中即可,简单实用,不过这种方法实现的上一篇下一篇功能是不分类别的,如果想要只显示相同类别的文章则需要用下面的代码了。除了调用外,还需要进行判断上一篇或下一篇是否有日志,代码如下:

<?php if (get_previous_post()){
    previous_post_link("Pre: %link","%title",true);
}else{
    echo "Pre: None";
} ?>

<?php if (get_next_post()){
    next_post_link("Next: %link","%title",true);
}else {
    echo "Next: None";
} ?>

上面的代码默认设置为同一分类下的上一篇和下一篇了,如果不需要,则把true改成false,或者直接删除true即可。其实把这两段代码放入程序中会发现当没文章时会显示空白,解决办法是给特定的分类下指定ID,全部代码如下

<?php
$categories = get_the_category();
$categoryIDS = array();
foreach ($categories as $category) {
    array_push($categoryIDS, $category->term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>

<?php if (get_previous_post()){
    previous_post_link("Pre: %link","%title",true);
}else{
    echo "Pre: None";
} ?>

<?php if (get_next_post()){
    next_post_link("Next: %link","%title",true);
}else {
    echo "Next: None";
} ?>

这样当没有上一篇或下一篇文章时就会显示None

官方文档里的其他用法

1、

<?php next_post_link( '%link', 'Next post in category', TRUE, '13' ); ?>

显示同一分类的下一篇文章的链接,并且它不在id为13的分类中(类别ID #)。您可以将数字更改为您希望排除的任何类别。使用“and”作为分隔符排除多个类别。

<?php next_post_link( '%link', 'Next post in category', TRUE, '13 and 14' ); ?>

显示同一分类的下一篇文章的链接,并且它不在id为13和14的分类中

2、

<?php next_post_link( '<strong>%link</strong>' ); ?>

给链接文字加粗

3、

<?php next_post_link( '%link', 'Next post in category', TRUE ); ?>

将自定义文本显示为与当前文章相同类别中的下一篇文章的链接。这里不包括文章标题。“类别中的下一篇文章”是本例中的自定义文本。

4、

<?php next_post_link( '%link', 'Next post in taxonomy', TRUE, '', 'my_custom_taxonomy' ); ?>

在相同的自定义分类法术语中显示到下一篇文章的链接。

5、woocommerce中调用下一个产品(根据4演变而来)

<?php if (get_next_post()) {
                            $next = get_next_post_link('%link','Next Product <img src="/lib/img/products/icon_4_next.png" alt="">',true,'', 'product_cat');
                            echo str_replace('<a','<a class="common-btn next"',$next);
                        }
                        else { echo '';} ?>

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/122035

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注