आईडी द्वारा पोस्ट सामग्री प्राप्त करें


10

मैं पोस्ट आईडी द्वारा पोस्ट की सामग्री कैसे प्राप्त कर सकता हूं? मैंने get_page('ID');सामग्री दिखाने की कोशिश की लेकिन यह काम नहीं करता है।


1
डाउनवोट्स जैसा कि आपने डॉक्स को पढ़ने की कोशिश भी नहीं की get_page()। इसे बहुत पहले से चित्रित किया गया है। इसके अलावा, इस मुद्दे के बारे में साइट पर असीमित मात्रा में संसाधन हैं, यहां तक ​​कि Google के पास इस पर जानकारी भी है
पीटर गोयन

जवाबों:


17

आप इसे कई तरीके से कर सकते हैं। निम्नलिखित दो तरीके हैं।

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes

एक और तरीका

$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes

पीटर गोसेन के सुझाव के बाद apply_filters

apply_filtersयदि आप सामग्री को अन्य प्लगइन्स द्वारा फ़िल्टर किया जाना चाहते हैं, तो आप उपयोग कर सकते हैं । तो यह उपयोग करने की आवश्यकता को समाप्त करता हैdo_shortcode

उदाहरण

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo apply_filters('the_content',$content);
 //no need to use do_shortcode, but content might be filtered by other plugins.

यदि आप अन्य प्लगइन्स को इस सामग्री को फ़िल्टर करने की अनुमति नहीं देना चाहते हैं और शोर्ट फ़ंक्शन की आवश्यकता है, तो साथ जाएं do_shortcode

यदि आप शोर्ट भी नहीं चाहते हैं, तो बस के साथ खेलते हैं post_content


बस आश्चर्य है कि आप क्यों इस्तेमाल कर रहे हैंdo_shortcode
पीटर गोयन

हाय पूछने के लिए धन्यवाद। @PieterGoosen जैसा कि हमें raw contentपोस्ट का मिल रहा है । पोस्ट में एम्बेड किए गए किसी भी शोर्ट को संसाधित नहीं किया जाएगा। इसलिए हम स्वयं के साथdo_shortcode
WPTC-Troop

2
एक बेहतर तरीका यह होगा कि apply_filters( 'the_content', $content );, इस तरह, सभी फ़िल्टर the_content()जैसे कि wpautopऔर शोर्ट हैंडलर को लागू किया जाए, पर लागू किया जाता है $content। ;-)। बहुवचन पर ध्यान देंfilters
पीटर गोयन

1
हाँ, समझ बनाने के apply_filtersबजाय का उपयोग do_shortcodeकरना। लेकिन उपयोग apply_filterविशुद्ध रूप से उनके पर्यावरण निर्णय पर आधारित है। मुझे अपना उत्तर भी अपडेट करने दीजिए। समुदाय @PieterGoosen
WPTC-Troop

0

मैं बस यहाँ एक और हैकी बदसूरत तरीका छोड़ दूँगा जिसे आप कभी-कभी उपयोगी पा सकते हैं। बेशक तरीके जो एपीआई कॉल का उपयोग करते हैं, उन्हें हमेशा पसंद किया जाता है (get_post (), get_the_content (), ...)।

global $wpdb;
$post_id = 123; // fill in your desired post ID
$post_content_raw = $wpdb->get_var(
    $wpdb->prepare(
        "select post_content from $wpdb->posts where ID = %d",
        $post_id
    )
);

0
$id = 23; // add the ID of the page where the zero is
$p = get_page($id);
$t = $p->post_title;
echo '<h3>'.apply_filters('post_title', $t).'</h3>'; // the title is here wrapped with h3
echo apply_filters('the_content', $p->post_content);

1
कृपया संपादित आपका जवाब है, और एक विवरण जोड़ें: क्यों कि समस्या का समाधान कर सकता है?
FUXIA

-1

का उपयोग करके get_page('ID')

$page_id = 123;  //Page ID
$page_data = get_page($page_id); 
$title = $page_data->post_title; 
$content = $page_data->post_content;

1
डाउनवोट किया गया है क्योंकि आपने वास्तव में प्रलेखन को पढ़ने की कोशिश भी नहीं की थी। get_page()मूल्यह्रास है
पीटर गोयन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.