निर्धारित करें कि क्या पेज पोस्ट पेज है


18

पर पढ़ना सेटिंग पेज आप एक "फ्रंट पेज" और एक "पोस्ट पेज" सेट कर सकते हैं। आप देख सकते हैं कि वर्तमान पृष्ठis_front_page();

क्या "डाक पृष्ठ" के लिए एक समान कार्य है। मैंने देखा है कि is_page();इस विशेष पृष्ठ के लिए काम नहीं करता है।

धन्यवाद

जवाबों:


34

is_home() "पोस्ट पेज" के लिए चेक, कुछ भ्रामक फ़ंक्शन नाम के बावजूद।


धन्यवाद, मैंने सोचा कि मैं उन सभी की जाँच की, लेकिन मुझे नहीं लगता ...
माइक

3
किस बारे में $wp_query->is_posts_page?
वेस्टन रटर

@WestonRuter के पास प्रश्न का सही उत्तर है।
जे

6

वर्डप्रेस 7 प्राथमिक टेम्पलेट पेज प्रकारों के साथ आता है, जिसे इस तरह से निर्धारित किया जा सकता है

if ( is_main_query() ) {
    // Error
    if ( is_404() ) {
        ;
    }
    // Front page
    if ( is_front_page() ) {
        ;
    }
    // Archive
    if ( is_archive() ) {
        ;
    }
    // Comments popup
    if ( is_comments_popup() ) {
        ;
    }
    // Search
    if ( is_search() ) {
        ;
    }
    // Singular
    if ( is_singular() ) {
        ;
    }
    // Home - the blog page
    if ( is_home() ) {
        ;
    }
}

is_home आपको बताता है, कि आपके पास ब्लॉग पेज है।


1

"पोस्ट पेज" आमतौर पर का एक संग्रह है:

  • एक श्रेणी के पोस्ट
  • एक टैग के पोस्ट
  • एक तिथि (वर्ष, माह ...) के पद
  • मुख्य संग्रह के पोस्ट

इनमें से हर एक को कई सशर्त टैगों में से एक जैसे is_category() is_tag() is_date() is_archive() और इतने अधिक द्वारा जांचा जा सकता है । कोडेक्स http://codex.wordpress.org/Conditional_Tags पर बेहतर समझ प्राप्त करने के लिए


0

सबसे पहले ब्लॉग से संबंधित चीजों जैसे लेखक, टैग, पोस्ट प्रकार की जांच करें

function is_blog () {
        global  $post;
        $posttype = get_post_type($post );
        return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post')  ) ? true : false ;
  }

अब कुछ चेक करें और वापस करें जो आप चाहते हैं

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'I am post';
      } else
       {
          $postType = 'I am page';
       };
    return $postType;
  }

इसका उपयोग बॉस की तरह करें <?php echo check_post_type();?>

वेस बोस को धन्यवाद


0

टी एल; डॉ

केस ए । मुख्य टेम्पलेट फ़ाइल (index.php) के अंदर इसे निर्धारित करने की आवश्यकता नहीं है क्योंकि यह इसके लिए डिफ़ॉल्ट टेम्पलेट है [1]

केस बी । इसे पृष्ठ टेम्पलेट के अंदर निर्धारित करने के लिए (उदा: page.php), बस इसे इस तरह जांचें:

get_option( 'page_for_posts' ) == get_the_ID()

विवरण

मैं सचमुच इसका स्रोत-कोड [2] खोदता चला गया, ताकि यह पता चल सके कि वर्डप्रेस वैल्यू की जाँच कैसे करता है। यह पता चला है, यह पोस्ट पेजget_option( 'page_for_posts' ) के चयनित मूल्य के पोस्ट आईडी को जानने के लिए कथन का उपयोग कर रहा है ।

तो हाँ, इस उद्देश्य के लिए, ऐसा कोई आधिकारिक चेकर फ़ंक्शन नहीं है जो इसके समान है is_front_page()

जब तक आप उस पृष्ठ की आईडी को जानते हैं जिसे आपने चुना है तो आप इसे चेक करने की प्रक्रिया के लिए उपयोग कर सकते हैं।

संदर्भ

  1. वर्डप्रेस कोडेक्स, थीम डेवलपमेंट, codex.wordpress.org/Theme_Development

  2. सेटिंग का स्रोत-कोड › रीडिंग सेटिंग , github.com/WordPress/..//p-admin/options-np.p

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