<P> टैग्स को अलग किए बिना 'post_content' कैसे प्राप्त करें?


20

मैं एक विशिष्ट पोस्ट की पोस्ट सामग्री को पुनः प्राप्त करने की कोशिश कर रहा हूं:

$post = get_post(/* id */);
$content = $post->post_content;

हालाँकि, यह बिना किसी विराम वाली सामग्री को पुनः प्राप्त करता है और सभी <p>टैगों को छोड़ देता है ।

<p>टैग छोड़े बिना पोस्ट कंटेंट को पुनः प्राप्त करने का उचित तरीका क्या है (जैसा कि पोस्ट पेज या पोस्ट एडिटर " टेक्स्ट " टैब पर दिखाया गया है )?

जवाबों:


30

अब तक के दोनों उत्तर सही हैं लेकिन एक अधिक गहन उत्तर को वारंट माना गया है।

यदि आप इसका उपयोग करते हैं:

$content = wpautop( $post->post_content );

आप सामग्री को पोस्ट करने के लिए पैराग्राफ टैग जोड़ने वाले एक फ़ंक्शन को लागू कर रहे हैं। wpautop()कई कार्यों में से एक है (कई बार प्लगइन फ़ंक्शन सहित) जो हुक करता है the_content, इसलिए यदि आप ऐसा करते हैं:

$content = apply_filters('the_content', $post->post_content);

आप पोस्ट सामग्री को किसी भी फ़िल्टर के माध्यम से चला रहे हैं the_contentजिस पर wpautop()डिफ़ॉल्ट रूप से शामिल हैं ।

अंत में, यदि आप पाश में हैं, तो आप ऐसा कर सकते हैं:

$content = apply_filters( 'the_content', get_the_content() );

जो अनिवार्य रूप से दूसरे कोड स्निपेट के लिए एक आवरण है, लेकिन निश्चित रूप से यह थोड़ा अच्छा लग रहा है। अपडेट 1 सितंबर 2018: टिप्पणी के आधार पर संशोधित । प्रॉप्स @timmb।

आम तौर पर, मैं कहूंगा कि ऐसा करने का पसंदीदा "सही तरीका" पिछले से पहली बार है क्योंकि एक कोर WP फ़ंक्शन का उपयोग करके अधिक बैकवर्ड संगतता (सैद्धांतिक रूप से, कम से कम) को सक्षम करना चाहिए। इसके बाद केवल एक और निर्णय लेना है कि क्या आप वर्डप्रेस और प्लगइन्स को पोस्ट सामग्री को संशोधित करने की अनुमति देना चाहते हैं। अगर ऐसा है, तो 2 या 3 विकल्प का उपयोग जरूर करें।


1
मुझे लगता है कि यह अंतिम समाधान गलत है। से codex.wordpress.org/Function_Reference/get_the_content : "the_content () से एक महत्वपूर्ण अंतर यह है कि get_the_content () 'the_content' फिल्टर के माध्यम से सामग्री पास नहीं है।" क्या यह सुझाव नहीं देगा कि सही दृष्टिकोण क्या होगा $content = apply_filters('the_content', get_the_content);?
टिम एमबी


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