• 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 '';} ?>
    

      

  • 相关阅读:
    svn忽略不需要同步的文件夹或文件
    Redis 字符串(String)
    Redis 数据类型
    Linux下安装rabbitMQ
    Windows平台下Git服务器搭建
    Linux下安装redis
    JVM调优总结
    Tomcat优化配置
    通过profile 用maven命令打不同配置的变量包
    Log4j日志配置说明
  • 原文地址:https://www.cnblogs.com/ytkah/p/11844224.html
Copyright © 2020-2023  润新知