कस्टम पोस्ट प्रकार के साथ add_filter का उपयोग करके the_content को कैसे जोड़ा जाए?


9

मेरे पास एक कस्टम पोस्ट प्रकार ठीक चल रहा है, लेकिन पृष्ठ के कुछ पाठ हर पोस्ट के लिए समान हैं, इसलिए मैं इसे फ़ंक्शन का उपयोग करके जोड़ना चाहता हूं।

मेरे पास यह सेट अप है:

function new_default_content($content) {
global $post;
    if ($post->post_type == 'custom-post-type') {
    $content = 'Test text here';
    }
    return $content;
    }
add_filter('the_content', 'new_default_content');

हालाँकि जब मैं पृष्ठ को रिफ्रेश करता हूं, तो मैं केवल "टेक्स्ट टेस्ट यहां" देखता हूं न कि पोस्ट की सामग्री (the_content) से।

अगर मैं इस फंक्शन को कमेंट करता हूं, तो पोस्ट कंटेंट फिर से आ जाता है। मैं क्या गलत कर रहा हूं?

जवाबों:


8

आप सामग्री को पूरी तरह से जोड़ने के बजाय उसे ओवरराइट कर रहे हैं। आपको $content .= 'Test text here';इसके बजाय कुछ करने की ज़रूरत है ।


उस अवधि में बहुत शक्ति, धन्यवाद! एक और सवाल: मैं जैसे, +1 आदि के लिए सामाजिक बटन प्रदर्शित करने के लिए एक प्लगइन का उपयोग कर रहा हूं और वे नए-डिफ़ॉल्ट-सामग्री से ऊपर दिखाई दे रहे हैं - क्या नीचे दिखाई देने के लिए बटन प्राप्त करने का एक तरीका है? मैंने मान लिया कि यह फ़िल्टर एक पूर्ण खंड के रूप में the_content & new_default_content को "चंक" करेगा।
जॉर्ज सी

1
खैर, आप नई सामग्री जोड़ रहे हैं, इसलिए यह बाद में प्रदर्शित होने वाली है। आप प्लगइन को संसाधित करने से पहले इसे प्राप्त करने के लिए एक उच्च प्राथमिकता पर फ़िल्टर को हुक करने की कोशिश कर सकते हैं, क्योंकि प्लगइन भी उसी फ़िल्टर का उपयोग कर रहा है।
हेलनहसंडी

आह, मैं प्राथमिकताओं में बात करूंगा - फिर से धन्यवाद!
जॉर्ज सी

FYI करें मैंने प्राथमिकता के साथ खेला और इसने चाल चली! धन्यवाद फिर से :)
जॉर्ज सी।

-1

सरल तरीके से `

               if ($post->post_type == 'custom-post-type') {
                   $new_content= 'Test text here';
                                }
                       return $content.$new_content;

केवल कोड को एक अच्छी गुणवत्ता वाला उत्तर नहीं माना जाता है। आपको यह बताना चाहिए कि कोड क्या करता है और यह प्रश्न का उत्तर कैसे देता है; इस तरह से कोडिंग में नए शौक रखने वाले पाठक आपके उत्तर को समझ जाएंगे। क्या आप अपना कोड समझा सकते हैं?
साइबरमेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.