ฉันกำลังมองหาวิธีง่ายๆในการพิจารณาว่าจะใช้posts_nav_link()
ฟังก์ชั่นหรือไม่และโซลูชันทั้งหมดที่ฉันพบทางออนไลน์นั้นซับซ้อนเกินไปหรือไม่น่าเชื่อถือ ตัวอย่างเช่นคนจำนวนมากแนะนำให้ใช้$paged
ตัวแปรโกลบอล แต่ฉันพบว่าตัวแปรนี้ส่งคืนค่าเดียวกันสำหรับหน้าแรกแม้ว่าหน้าแรกจะเป็นหน้าเดียว!
ดังนั้นฉันขุดลงในwp-includes/link-template.php
ไฟล์และพบว่าposts_nav_link()
ฟังก์ชั่นเพียงแค่ส่งออกค่าตอบแทนของฟังก์ชั่นอื่น:
/**
* Display post pages link navigation for previous and next pages.
*
* @since 0.71
*
* @param string $sep Optional. Separator for posts navigation links.
* @param string $prelabel Optional. Label for previous pages.
* @param string $nxtlabel Optional Label for next pages.
*/
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
$args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
echo get_posts_nav_link($args);
}
การใช้ความรู้นี้เราสามารถสร้างวิธีที่ง่ายและมีประสิทธิภาพในการพิจารณาว่าเราจำเป็นต้องเพิ่มลิงก์เพื่อสำรวจระหว่างหน้าหรือไม่:
$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
// do not use posts_nav_link()
} else {
// use posts_nav_link()
}
โพสต์ในบล็อกของฉันที่นี่
get_query_var( 'paged' )
สองครั้งนั้นซ้ำซ้อน พารามิเตอร์ตัวที่สองของฟังก์ชันนั้นเป็นค่าเริ่มต้น ดังนั้นคุณสามารถทำให้มันง่ายขึ้นไป:$paged = get_query_var( 'paged', 1 );