我们在用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函数的使用方法的更多相关文章

  1. ShopEx文章页添加上一篇下一篇功能

    在全部的文章页中,会常常发现都会有这么一个功能.能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型.并没有找到上一篇这种函数功能,因此,这就须要我们手动在相应的文 ...

  2. wordpress文章显示同一分类下的上一篇下一篇

    我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...

  3. PHPCMS 实现上一篇、下一篇

    方法一:直接调用phpcms系统的函数 <div class="info"> <span>上一篇:<a href="{$previous_p ...

  4. 李洪强iOS开发Swift篇—08_函数(2)

    李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...

  5. 李洪强iOS开发Swift篇—07_函数

    李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...

  6. Objective-C与Swift下的自定义打印函数(Debug和Release)

    1.Objective-C 在使用Objective-C进行开发的过程中,为了Debug会不断的设置打印函数.如下图是我们经常用的,用来测试监听方法的实现与否: NSLog(@"%s&quo ...

  7. dedecms手机网站内页上一篇/下一篇的翻页功能

    修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...

  8. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  9. 第8篇-dispatch_next()函数分派字节码

    在generate_normal_entry()函数中会调用generate_fixed_frame()函数为Java方法的执行生成对应的栈帧,接下来还会调用dispatch_next()函数执行Ja ...

随机推荐

  1. python入门之作用域

    作用域的分类 1.全局作用域 全局可以调用的名字就存在于全局作用域 内置名称空间 + 全局名称空间 2.局部作用域 局部可以调用的名字就存放于局部作用域 局部名称空间 3. global 声明全局变量 ...

  2. C/C++ 指针常量和常量指针

    为了区分是指向常量的指针还是const指针(表示指针本身是常量) 一个简便方法:从由往左读,遇到p就替换为“p is a”,遇到*就替换为“point to”,其余不变. const int * p ...

  3. Lua代码编写规范

    开发中,大量使用lua,暂时根据当前状况,总结相对而言较好的规范,在多人协作中可以更好的开发.交流. 介绍  该文档旨在为使用lua编写应用程序建立编码指南. 制订编码规范的目的: 统一编码标准,通用 ...

  4. English--动名词

    English|动名词 开始动名词的学习,代表着在长难句的征途上又向前迈出了一步. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点的描述.力求不含任何的自我感情色彩. 情感:用 ...

  5. Django中使用CORS实现跨域请求(转)

    原文:https://blog.csdn.net/zizle_lin/article/details/81381322 跨域请求: ​    请求url包含协议.网址.端口,任何一种不同都是跨域请求. ...

  6. Java学习:Map接口

    Map集合 Collection接口: 定义了单列集合规范 Collection<E> 每次存储一个元素 单个元素 Map接口:定义了双列集合的规范 Map<K,V> 每次存储 ...

  7. php 无限极分类,根据父级 找子级

    /** * @param $data 数据(二维数组格式) * @param $adminId 管理员ID * @param $pid 权限的上级ID * @param int $level 水平变量 ...

  8. 基于百度地图JavaScript API,员工住址统计

    公司一般都有通讯和住址的统计,但是文字化的表格根本就不知道住在哪. 用百度地图就可以轻松解决, 而且公司还经常人员变动,读取excel中的内容,就不用每次还要更改地图文件了. 在遇到需要聚餐在地图中标 ...

  9. FindWindow和FindWindowEx函数使用

    FindWindow(   lpClassName,        {窗口的类名}   lpWindowName: PChar {窗口的标题} ): HWND;              {返回窗口的 ...

  10. c# mvc webapi的put报405错误

    程序在本机调试可正常修改,本机是iis11 放到服务器上,报错了:405.服务器iis7.0 返回的错误页面: <!DOCTYPE html PUBLIC "-//W3C//DTD X ...