RSS में सभी पोस्ट प्राप्त करें


10

मैं सोच रहा हूँ कि कैसे / अगर मैं वर्डप्रेस सेटिंग्स में परिभाषित सबसे हाल के एक्स पोस्टों से अधिक का उपयोग कर सकता हूं। मैंने ऐसे प्लगइन्स देखे हैं जो RSS के माध्यम से सभी ब्लॉग सामग्री को माइग्रेट करते हैं, उनके तरीकों को देखने के लिए चारों ओर poked नहीं है।

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

कोई विचार?


"10 को एडमिन में सेट करें" से आपका क्या तात्पर्य है?
gcb

जवाबों:


5

कोडेक्स में post_limitsफीड के लिए व्यवस्थापक में सेट की गई राशि को ओवरराइड करने के लिए फ़िल्टर का उपयोग करने पर उदाहरण स्निपेट है ।

if (isset ($query->query_vars['feed']) and ($query->query_vars['feed'] == 'ics')) 
    add_filter('post_limits','__return_empty_string'); 

http://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips


1
यह एक विकल्प हो सकता है, लेकिन मैं 700+ साइटों पर थीम कोड को संशोधित करने से बचने की उम्मीद कर रहा था।
भौमिक

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

22

अपनी पोस्ट प्राप्त करने का एक तरीका यह है कि आप अपने न्यूज़लेटर जनरेटर में आरएसएस फ़ीड के विभिन्न पृष्ठों को कॉल करें। यह एक सुरक्षित तरीका है जिसे आपके विभिन्न वर्डप्रेस इंस्टॉलेशन को अपडेट करने की आवश्यकता नहीं है:

yourwebsite.com/feed -> अंतिम 10 पोस्ट प्राप्त करें

yourwebsite.com/feed/ ? पृष्ठांकित = 2 -> अगले 10 पोस्ट प्राप्त करें

और इसी तरह।


4

दुर्भाग्य से, आप जो करने की कोशिश कर रहे हैं, वह आमतौर पर अधिकांश समुदायों में होता है। जो मैं आपसे सुन रहा हूँ वह है:

  • (हालिया पोस्ट) की डिफ़ॉल्ट संख्या से अधिक दूर से पुनर्प्राप्त करने का एक तरीका
  • संभवतः किसी साइट के लिए सभी प्रकाशित पोस्ट पुनः प्राप्त करें
  • साइट के साथ कोई सीधा संवाद किए बिना (RSS का उपयोग करके)

यह आमतौर पर ब्लॉग से सामग्री को परिमार्जन करने और मूल लेखक की अनुमति के बिना इसे पुनः प्रकाशित करने के लिए प्रयोग किया जाता है। इसलिए मैं कहता हूं कि यह आम तौर पर है। अधिकांश ब्लॉग लेखक महान सामग्री को विकसित करने में बहुत समय और ऊर्जा लगाते हैं, इसलिए तीसरे पक्ष के लिए अपनी साइट पर एसईओ क्रेडिट जोड़ने के लिए अपनी कड़ी मेहनत का लाभ उठाना आसान है ... अच्छी तरह से ... स्लीजी।

उस ने कहा, मैं इस समय के लिए मानूंगा कि आपके पास 700 से अधिक साइटों से सामग्री को स्क्रैप करने के लिए वैध कारण हैं। उस मामले में, मैं एक अलग, प्रोग्रामेटिक विधि की सिफारिश करूंगा - आरएसएस नहीं। यदि आपके पास इन सभी साइटों (यानी वे आपकी साइट हैं और किसी और की नहीं) के लिए वैध लॉगिन जानकारी है, तो आप सामग्री को लाने के लिए वर्डप्रेस बिल्ट-इन XML-RPC सुविधाओं का उपयोग कर सकते हैं।

metaWeblog.getRecentPostsब्लॉग की आईडी (आमतौर पर एकल साइटों के लिए 0, लेकिन बहु-साइट में भिन्न हो सकती है), आपके वर्डप्रेस उपयोगकर्ता नाम, आपके वर्डप्रेस पासवर्ड और पदों की संख्या को निर्दिष्ट करने के लिए अनुरोध पारित करने के लिए अंतर्निहित एक्सएमएल-आरपीसी लाइब्रेरी का उपयोग करें लाने के लिए (यह सब उन्हें प्राप्त करने के लिए -1 पर सेट करें)।

दूसरी साइट उस सामग्री के साथ प्रतिसाद देगी (बल्कि बड़ी) XML फ़ाइल जिसमें आप जो चाहें कर सकते हैं। यह सब पर्दे के पीछे हो सकता है, और metaWeblog.getRecentPostsअनुरोध आपको आरएसएस फ़ीड (कस्टम फ़ील्ड सहित, जो आपके लिए महत्वपूर्ण हो सकता है) की तुलना में बहुत अधिक जानकारी देगा।


2

यदि स्मृति कार्य करती है, तो जैसे-जैसे पदों की संख्या गुजरती है, वैसे-वैसे प्रभाव पड़ता है। पूरी तरह से यकीन नहीं है कि यह एक URL में कैसे उछाला जाता है, हालांकि।

एक तरफ के रूप में, यदि आप वास्तव में 700+ साइटों में हैं, तो एक क्रॉन होने पर विचार करें कि svn अपडेट या गिट एक स्थिर शाखा से खींचता है, एक दैनिक आधार पर एक निजी भंडार से ... एक दैनिक http कॉल के साथ संयुक्त wp- व्यवस्थापक / upgrade.php। अपनी साइट्स को अपग्रेड या ट्विक करने पर यह आपको बहुत सारी परेशानियों से बचाएगा - इसमें यह अपने आप हो जाएगा।


0

आप कुछ आरएसएस एग्रीगेटर जैसे फीडवॉर्डप्रेस का उपयोग करना चाह सकते हैं


0

यदि आप सेटिंग्स> रीडिंग> पर जाते हैं और "सिंडिकेशन फ़ीड्स शो सबसे नवीनतम" में मूल्य को बदलकर एक नंबर पर है जो आपको सूट करता है, तो यह आपके द्वारा इनपुट किए गए फीड की संख्या को दिखाएगा।


0

"सभी पोस्ट" नहीं करते हुए, मैं तर्क देता हूं कि एक limitपरम अधिक उपयोगी है।

मैं सीधे "posts_per_rss" विकल्प को फ़िल्टर करने की सलाह दूंगा:

add_filter( 'option_posts_per_rss', 'my_posts_per_rss' );
function my_posts_per_rss( $option ) {
    if( isset( $_GET['limit'] ) ) {
        return (int) $_GET['limit'] ?: $option;
    }
    return $option;
}

फ़ीड को इस तरह एक्सेस किया जा सकता है: http://example.org/category/acme/feed/?limit=999

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