अगर मैं पेजिंग के पहले पृष्ठ पर हूं, तो यह कैसे निर्धारित करें?


22

मैं यह कैसे निर्धारित करूँ कि मैं पृष्ठ के पहले पृष्ठ पर हूँ? मैं WP_Pagenavi का उपयोग कर रहा हूं। मैं केवल पृष्ठ के पहले पृष्ठ पर एक फ़ंक्शन चलाना चाहता हूं। मैंने क्वेरी_वर 'पृष्ठांकित' की जाँच की, यह इस पृष्ठ पर 0 पर सेट है, और फिर 2, 3 और इसी तरह बाद के पृष्ठों में (1 गायब है!) ... कोई भी एक स्वच्छ समाधान जानता है?

धन्यवाद।

जवाबों:


24
// get current page we are on. If not set we can assume we are on page 1.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// are we on page one?
if(1 == $paged) {
    //true
}

4
यह सही है, लेकिन get_query_var( 'paged' )दो बार कॉल करना बेमानी है। फ़ंक्शन का वैकल्पिक दूसरा पैरामीटर डिफ़ॉल्ट मान है। तो, आप इसे सरल बना सकते हैं: $paged = get_query_var( 'paged', 1 );
लिनिया हक्सफ़ोर्ड

अगस्त २०१,: यह मेरे लिए काम नहीं कर रहा है, हर पेज पर इसका आउटपुट १ है। हालाँकि माइकल का जवाब एकदम सही था।
सुरजीत एसएम

32

यदि आप केवल यह जानना चाहते हैं कि आप पृष्ठबद्ध पृष्ठ के पहले पृष्ठ पर हैं is_paged():

if ( !is_paged() ) {
  // first page of pagination
}

यह एक मेरे लिए काम किया। (अगस्त 2017)। किसी तरह जवाब सही नहीं काम के रूप में चिह्नित ..
सुरजीत एसएम

उत्कृष्ट, स्वच्छ और सरल।
ट्रेस डेकोय

4

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

मूल रूप से मेरे ब्लॉग पर यहां पोस्ट किया गया है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.