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

  

posted @ 2019-11-12 18:24  ytkah  阅读(1062)  评论(0编辑  收藏  举报
IPO发家故事 网址导航 gg N / G Sitemap

部分内容来源于网络,如有版权问题请联系删除