wordpress下一篇next_post_link函数的使用方法
我们在用wordpress开发时经常会用到上一篇下一篇的功能,<?php previous_post_link('%link') ?> <?php next_post_link('%link') ?>最简单的方式就可以实现,那如果要进行一些改造要如何写呢?随ytkah一起来看看
首先我们要知道函数的用法
<?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 '';} ?>
wordpress下一篇next_post_link函数的使用方法的更多相关文章
- ShopEx文章页添加上一篇下一篇功能
在全部的文章页中,会常常发现都会有这么一个功能.能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型.并没有找到上一篇这种函数功能,因此,这就须要我们手动在相应的文 ...
- wordpress文章显示同一分类下的上一篇下一篇
我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...
- PHPCMS 实现上一篇、下一篇
方法一:直接调用phpcms系统的函数 <div class="info"> <span>上一篇:<a href="{$previous_p ...
- 李洪强iOS开发Swift篇—08_函数(2)
李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...
- 李洪强iOS开发Swift篇—07_函数
李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...
- Objective-C与Swift下的自定义打印函数(Debug和Release)
1.Objective-C 在使用Objective-C进行开发的过程中,为了Debug会不断的设置打印函数.如下图是我们经常用的,用来测试监听方法的实现与否: NSLog(@"%s&quo ...
- dedecms手机网站内页上一篇/下一篇的翻页功能
修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...
- Python入门篇-生成器函数
Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...
- 第8篇-dispatch_next()函数分派字节码
在generate_normal_entry()函数中会调用generate_fixed_frame()函数为Java方法的执行生成对应的栈帧,接下来还会调用dispatch_next()函数执行Ja ...
随机推荐
- QuantLib 金融计算——收益率曲线之构建曲线(4)
[TOC] 如果未做特别说明,文中的程序都是 C++11 代码. QuantLib 金融计算--收益率曲线之构建曲线(4) 本文代码对应的 QuantLib 版本是 1.15.相关源代码可以在 Qua ...
- python 关于celery的异步任务队列的基本使用(celery+redis)【采用配置文件设置】
工程结构说明:源文件下载请访问https://i.cnblogs.com/Files.aspx __init__.py:实例化celery,并加载配置模块 celeryconfig.py:配置模块 t ...
- [EXP]CVE-2019-1821 Cisco Prime Infrastructure思科未授权远程代码执行漏洞
CVE-2019-1821 Cisco Prime Infrastructure Remote Code Execution https://srcincite.io/blog/2019/05/17/ ...
- jmeter 生成不重复的手机号
String account = "${__time(yyyyMMdd,)}"+UUID.randomUUID().toString().split("-")[ ...
- Prometheus 安装部署
Prometheus 安装部署 安装版本:prometheus-2.6.1 百度云下载:https://pan.baidu.com/s/1w16lQZKw8PCHqlRuSK2i7A 提取码:lw1q ...
- Kafka学习笔记之如何永久删除Kafka的Topic
0x00 问题描述 使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:“marked for deletion”,导致重新创建相同名称的Top ...
- vim中常用折叠命令
最常用3个折叠命令 .反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之) .打开全部折叠:zR .关闭全部折叠:zM 小试折叠: :set fdm ...
- 总结:WPF中模板需要绑定父级别的ViewModel该如何处理
原文:总结:WPF中模板需要绑定父级别的ViewModel该如何处理 <ListBox ItemsSource="{Binding ClassCollection}"> ...
- asp.net core 系列之Performance的 Response compression(响应压缩)
本文,帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正). 什么是响应压缩?响应压缩简单的说就是为了减少网络带宽,而把返回的响应压缩,使之体积缩小,从而加快响应的 ...
- [Leetcode] Binary Tree Pruning
題目是說,如果左右子樹都不存在又自已為0,就去掉那個子樹(設為null) recursive後序,左子樹,右子樹,然後是根 自已同時又是別人的子樹,所以要告訢根自已是不是存在 從a開始,左右子樹都不存 ...