मैं यह निर्धारित करने के लिए एक सरल तरीके की तलाश कर रहा था कि क्या 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 );