亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

WordPress 單頁面上一頁下一頁的實現方法【附代碼】

2024-05-04 23:43:42
字體:
來源:轉載
供稿:網友
下面小編就為大家帶來一篇WordPress 單頁面上一頁下一頁的實現方法【附代碼】。小編覺得非常不錯。給大家分享一下。希望能給大家一個參考。
 

WordPress的文章頁頁有實現上一篇下一篇的功能函數,不過我們想在單頁page.php里面實現上一頁下一頁的功能,previous_post_link()和next_post_link() 函數還不能完全滿足我的需要,所以就自己寫函數實現。
頁面有分級功能,需求是按 menu order 排序的子級頁面之間有上一篇、下一篇鏈接,如:

Themes(父級頁面)
---- zBench(子級頁面1)
---- zBorder(子級頁面2)
---- zSofa(子級頁面3)

如果當前頁面是 zBorder,那么就要上一篇鏈接是 zBench 的,下一篇鏈接是 zSofa 的。

把下面函數代碼放入 functions.php(注:函數隨手寫的,可能不夠精簡)/*** get subpage previous/next page link by zwwooooo*/function subpage_nav_link($prevText='', $nextText='') {global $post;if ( !$post->post_parent ) return null; //如果不是子頁面返回Null$args = array('sort_order' => 'ASC','sort_column' => 'menu_order','child_of' => $post->post_parent,'post_type' => 'page');$pages = get_pages($args);$num = count($pages);$i = 0;$index = -1;foreach ($pages as $page) {if ($page->ID == $post->ID) {$index = $i;break;}++$i;}if ($i == 0) {$prev = '';$next = $pages[$index+1];} elseif ($i == $num-1) {$prev = $pages[$index-1];$next = '';} else {$prev = $pages[$index-1];$next = $pages[$index+1];}if ($prev) {if ($prevText) {if ( substr_count($prevText, '%title') > 0 ) {$explode = explode('%title', $prevText);$prevText = $explode[0] . get_the_title($prev->ID) . $explode[1];}} else {$prevText = get_the_title($prev->ID);}$prevlink = '<a class="previous-page-link" href="' . get_page_link($prev->ID). '">' . $prevText . '</a>';}if ($next) {if ($nextText) {if ( substr_count($nextText, '%title') > 0 ) {$explode = explode('%title', $nextText);$nextText = $explode[0] . get_the_title($next->ID) . $explode[1];}} else {$nextText = get_the_title($next->ID);}$nextlink = '<a class="next-page-link" href="' . get_page_link($next->ID). '">' . $nextText . '</a>';}return array($prevlink, $nextlink);}

 

[函數]

subpage_nav_link($prevText, $nextText)

[參數]

$prevText: 為前一篇文章鏈接文字,為空時默認是頁面標題
$nextText: 為下一篇文章鏈接文字,為空時默認是頁面標題;

例如:一般的主題是在 page.php 的 loop 循環里面(不知道就在 the_content(); 下面吧)插入調用代碼

 

復制代碼代碼如下:

<?php
if ( function_exists('subpage_nav_link') ) {
if ( $subpage_nav_link = subpage_nav_link() ) {
echo $subpage_nav_link[0]; //上一篇(頁面)鏈接
echo $subpage_nav_link[1]; //下一篇(頁面)鏈接
}
}
?>

 

注:可以用 if (!$subpage_nav_link[0]) 來判斷有沒有上一篇,同樣 if (!$subpage_nav_link[1]) 來判斷有沒有下一篇。

PS: $prevText 和 $nextText 還支持字符組合,如 subpage_nav_link('oo %title xx', '') 這樣的話,前一篇文章鏈接文章會變成“oo 頁面名 xx”


另一篇實用文章:實現wordpress文章頁調用同分類上/下一篇文章

wordpress提供的顯示上一篇、下一篇文章的函數代碼是按照發布順序調用的,前幾天做的wordpress小說模板,由于使用每個分類添加一部小說《博客吧首款wordpress小說網站主題模板wpnovel》,如果使用這樣的上下篇文章調用順序顯示不合適,讓文章頁顯示同分類下的上一篇、下一篇文章才是正道,wordpress是強大的,總能滿足用戶的想法,通過搜索找到了相關的函數代碼。

默認直接調用的代碼

<?php previous_post_link('上一篇: %link') ?>
<?php next_post_link('下一篇: %link') ?>

當文章處于首篇或末篇時,會顯示空白,但可以通過增加判斷還填補空白

<?php if (get_previous_post()) { previous_post_link('上一篇: %link');} else {echo "已是最后文章";} ?>
<?php if (get_next_post()) { next_post_link('下一篇: %link');} else {echo "已是最新文章";} ?>

經過測試雖然顯示同分類下的文章,但首篇文章和末尾的文章會不顯示對應的提示信息“已是最后文章”和“已是最后文章”。只要在get_previous_post()函數中指定一下文章所屬分類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($categoryIDS)) { previous_post_link('上一篇: %link','%title',true);} else { echo "已是最后文章";} ?>
<?php if (get_next_post($categoryIDS)) { next_post_link('上一篇: %link','%title',true);} else { echo "已是最新文章";} ?>

打開主題目錄下的文章頁single.php,在要顯示的位置添加代碼,保存文件即可。

 

以上這篇WordPress 單頁面上一頁下一頁的實現方法【附代碼】就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美—级a级欧美特级ar全黄| 久久久久久久一区二区| 最新国产精品拍自在线播放| 日韩中文在线中文网在线观看| 欧美激情视频播放| 亚洲精品永久免费精品| 91久久精品日日躁夜夜躁国产| 久久久久久这里只有精品| 在线不卡国产精品| 亚洲福利视频二区| 亚洲男人7777| 欧美日韩在线第一页| 国产乱肥老妇国产一区二| 在线激情影院一区| 91精品视频免费| 国产一区二区av| 中文在线资源观看视频网站免费不卡| 国产精品a久久久久久| 国产精品88a∨| 午夜精品在线观看| 92福利视频午夜1000合集在线观看| 国产xxx69麻豆国语对白| 92看片淫黄大片欧美看国产片| 日韩一区在线视频| 国产精品老女人精品视频| 久久久免费精品视频| 国产美女精品免费电影| 影音先锋欧美在线资源| 热久久视久久精品18亚洲精品| 久久久久久久电影一区| 欧美极品在线视频| 成人免费淫片aa视频免费| 亚洲最大成人在线| 97视频在线观看网址| 欧美一级黑人aaaaaaa做受| 91精品国产色综合久久不卡98| 91成人性视频| 午夜精品久久久99热福利| 久久久久久久久久av| 国产成一区二区| 亚洲第一视频在线观看| 亚洲无限乱码一二三四麻| 国产精品一二三在线| 精品在线欧美视频| 韩国美女主播一区| 久久精品国产综合| 热99精品只有里视频精品| 456亚洲影院| 91超碰中文字幕久久精品| 一区二区三区视频免费| 国产视频在线观看一区二区| 亚洲天堂网站在线观看视频| 国产精品天天狠天天看| 久久久久久噜噜噜久久久精品| 国产一区二区在线免费视频| 久久影院资源网| 一区二区欧美日韩视频| 中文字幕无线精品亚洲乱码一区| 久久综合伊人77777| 91国产视频在线播放| 国产日本欧美一区二区三区在线| 亚洲аv电影天堂网| 亚洲第一色在线| 国产精品成人一区| 色综合男人天堂| 欧美中文在线视频| 久久国产一区二区三区| 在线成人免费网站| 亚洲最大福利视频网| 奇米四色中文综合久久| 亚洲视频欧美视频| 68精品国产免费久久久久久婷婷| 日韩成人网免费视频| 青青久久av北条麻妃黑人| 国产精品私拍pans大尺度在线| 亚洲色图在线观看| 日韩av在线免费观看一区| 成人精品久久久| 最近的2019中文字幕免费一页| 中文精品99久久国产香蕉| 亚洲第一偷拍网| 久久偷看各类女兵18女厕嘘嘘| 欧美国产在线电影| 国产91精品最新在线播放| 这里只有精品视频在线| 国产有码在线一区二区视频| 亚洲免费视频网站| xxav国产精品美女主播| 久久久精品国产一区二区| 日韩av网站在线| 欧美精品生活片| 亚洲美女动态图120秒| 粉嫩av一区二区三区免费野| 欧美日韩亚洲视频| 亚洲aⅴ日韩av电影在线观看| 国产精品偷伦一区二区| 亚洲男人天堂古典| 少妇精69xxtheporn| 国产欧洲精品视频| 一区二区欧美久久| 亚洲精品福利免费在线观看| 国产亚洲一级高清| 最近中文字幕日韩精品| 中文日韩电影网站| 亚洲电影免费观看高清| 亚洲激情电影中文字幕| 亚洲精品久久久久久下一站| 久久这里只有精品视频首页| 91久久久国产精品| 亚洲国产日韩欧美综合久久| 精品一区二区三区四区在线| 日韩最新在线视频| 97视频在线免费观看| 国产又爽又黄的激情精品视频| 欧美视频中文字幕在线| 不卡在线观看电视剧完整版| 欧美xxxx做受欧美.88| 欧美日韩精品在线播放| 91av视频在线免费观看| 日韩视频在线免费观看| 久久久爽爽爽美女图片| 久久久噜久噜久久综合| 91精品在线观看视频| 亚洲精品视频播放| 日韩在线观看免费高清| 日本不卡高字幕在线2019| 亚洲国产精品久久久久秋霞蜜臀| 日韩黄色在线免费观看| 在线观看国产精品淫| 欧美丝袜一区二区三区| 国产丝袜一区二区三区| 日韩av在线最新| 91精品视频在线免费观看| 国产偷国产偷亚洲清高网站| 亚洲毛茸茸少妇高潮呻吟| 日韩欧美在线视频| 亚洲系列中文字幕| 91精品视频在线免费观看| 91亚洲国产成人精品性色| 热99久久精品| 亚洲国产精品成人va在线观看| 欧美极品少妇与黑人| 久久精品99国产精品酒店日本| 亚洲人成电影在线播放| 国产精品国产自产拍高清av水多| 国产999在线| 国精产品一区一区三区有限在线| 色综久久综合桃花网| 一区二区三区 在线观看视| 国产午夜精品全部视频在线播放| 日韩中文字幕免费| 久久精品99久久久久久久久| 欧美一区二区三区四区在线| 国产精品第1页| 川上优av一区二区线观看| 久久久最新网址| 国产精品第七影院| 国产精品久久久久久超碰| 91久久嫩草影院一区二区| 精品成人乱色一区二区| 日韩av在线网| 国产精品偷伦一区二区| 国产乱人伦真实精品视频| 久久精品亚洲94久久精品|