जैसा कि @Sumit द्वारा उल्लेख किया गया है, आपको एक पृष्ठ के लिए टिप्पणी फ़ीड को बंद करने की आवश्यकता है (जो कि मुझे बहुत अजीब लगता है क्योंकि डिफ़ॉल्ट टिप्पणियाँ पृष्ठों पर बंद हैं?) ... यह वही है जिसके साथ मैं समाप्त हुआ (पृष्ठ टिप्पणियों को प्राप्त करने की अनुमति) ?withcomments=1
यदि वांछित हो तो फ़ीड ):
add_action('pre_get_posts', 'rss_page_feed_full_content');
function rss_page_feed_full_content($q) {
// Check if it feed request and for single page
if ($q->is_main_query() && $q->is_feed() && $q->is_page()) {
//Set the comment feed to false
$q->set('post_type', array('page'));
// allow for page comments feed via ?withcomments=1
if ( (isset($_GET['withcomments'])) && ($_GET['withcomments'] == '1') ) {return;}
$q->is_comment_feed = false;
}
}
लेकिन पृष्ठ की सामग्री को प्रदर्शित करने के लिए, क्योंकि फ़ीड टेम्प्लेट वास्तव में rss_use_excerpt
यह तय करने के लिए जाँच करता है कि पूर्ण पाठ या सारांश (सेटिंग्स पर सेट -> पढ़ना पृष्ठ) प्रदर्शित करना है या नहीं, तो आपको पृष्ठ फ़ीड के लिए प्रदर्शित करने के लिए पूर्ण सामग्री चाहिए, तो इसे ओवरराइड करने की आवश्यकता है ताकि आप पोस्ट के लिए जो कुछ भी आप चाहते हैं उसके लिए मुख्य विकल्प सेट हो सके।) अन्यथा आप जो कुछ भी करते हैं वह सामग्री फ़ील्ड के बजाय फ़ीड के विवरण क्षेत्र में समाप्त हो सकता है।
add_filter('pre_option_rss_use_excerpt', 'page_rss_excerpt_option');
function page_rss_excerpt_option($option) {
// force full content output for pages
if (is_page()) {return '0';}
return $option;
}
और अंत में, पृष्ठ का अंश प्रदर्शित करने के लिए RSS विवरण फ़ील्ड प्राप्त करने के लिए, आपको यह करना पड़ सकता है (जो मूल रूप से wp_trim_excerpt
बिना कॉपी के है strip_shortcodes
) - ठीक है, मैंने वैसे भी किया था, लेकिन यह पेज पर कुछ अजीब शोर्ट व्यवहार के कारण हो सकता है। परीक्षण कर रहा था:
add_filter('the_excerpt_rss','rss_page_excerpt');
function rss_page_excerpt($excerpt) {
if (is_page()) {
global $post; $text = $post->post_content;
// removed this line otherwise got blank
// $text = strip_shortcodes( $text );
$text = apply_filters( 'the_content', $text );
$text = str_replace(']]>', ']]>', $text);
$excerpt_length = apply_filters( 'excerpt_length', 55 );
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
$excerpt = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
return $excerpt;
}