कैसे WordPress में एक यादृच्छिक पोस्ट करने के लिए उपयोगकर्ताओं को पुनर्निर्देशित करने के लिए

कैसे WordPress में एक यादृच्छिक पोस्ट करने के लिए उपयोगकर्ताओं को पुनर्निर्देशित करने के लिए

हमारे नए डिज़ाइन में हमने जो नई सुविधाओं को शामिल किया है, उनमें से एक यह है कि “एक्सप्लोर करें” नामक इस सुविधा को आप पूरे पूरे नेटवर्क में प्रमुख देखते हैं। जब कोई उपयोगकर्ता इस बटन पर क्लिक करता है, तो उन्हें साइट पर एक यादृच्छिक पोस्ट पर ले जाया जाता है। पहले, हमने ऐसा किया था कि उपयोगकर्ताओं को एक पेज पर ले जाया गया जो एक यादृच्छिक पोस्ट प्रदर्शित करेगा। उसके साथ काफी कुछ मुद्दे थे उपयोगकर्ता के प्रमुख व्यक्ति को पृष्ठ का वास्तविक यूआरएल कभी नहीं पता था। हमारे नवीनतम साइट List25 को लॉन्च करते समय, हमने सोचा कि यह एक ऐसा बटन जोड़ने के लिए अच्छा होगा जिसे मुझे उत्सुक लग रहा है और उपयोगकर्ताओं को इस तरह से ब्राउज़ करने दें। इस समय, मैं WordCamp Louisville में बोल रहा था हमारे बहुत से चीजों (@ ओटो 42) के लिए जिनके पास मैं देखता हूं, एक दोस्त उपस्थिति में हुआ। मेरे सत्र के दौरान, ओटो ने मेरी बात सुनने की बजाए इस स्निपेट को लिखा (जैसे वह वास्तव में इसे जानने की जरूरत है)। अच्छी तरह से लंबी कहानी इस लेख में, हम आपको दिखाएंगे कि कैसे वर्डप्रेस में उपयोगकर्ताओं को एक यादृच्छिक पोस्ट में रीडायरेक्ट किया जाए।

अपने विषय के functions.php फ़ाइल खोलें या रिक्त प्लगइन फ़ाइल बनाएं और निम्न कोड पेस्ट करें:

ADD_ACTION ( 'init', 'random_add_rewrite');
 फ़ंक्शन random_add_rewrite () {
        ग्लोबल $ wp;
        $ Wp-> add_query_var ( 'यादृच्छिक');
        add_rewrite_rule ('यादृच्छिक /? $', 'index.php? यादृच्छिक = 1', 'शीर्ष');
 }

 ADD_ACTION ( 'template_redirect', 'random_template');
 फ़ंक्शन random_template () {
        अगर (get_query_var ('यादृच्छिक') == 1) {
                $ posts = get_posts ('post_type = पोस्ट & orderby = rand & numberposts = 1');
                विदेशी मुद्रा ($ पोस्ट $ पोस्ट के रूप में) {
                        $ link = get_permalink ($ पोस्ट);
                }
                wp_redirect ($ लिंक, 307);
                बाहर जाएं;
        }
 } 

यह वही है और आप कर रहे हैं अब एक बटन बनाएं जो yourdomain.com/random/ से लिंक होता है और ऊपर स्निपेट बाकी का ख्याल रखेगा

स्निपेट की व्याख्या:

यह स्निपेट पहले एक क्वेरी चर रैंडम जोड़ता है तो इसका उपयोग करता है template_redirect वर्डप्रेस में हुक करें और कहें कि यदि वेरिएबल यादृच्छिक है, तो पोस्ट पोस्ट “पोस्ट” से एक पोस्ट बेतरतीब ढंग से प्राप्त करें फिर यह एक साधारण 307 रीडायरेक्ट करता है।

कारण स्निपेट 307 रीडायरेक्ट का उपयोग करता है, क्योंकि यह एक अस्थायी रीडायरेक्शन है ब्राउज़र अक्सर 302 रीडायरेक्ट कैश करता है जो अस्थायी रीडायरेक्ट्स के लिए प्रसिद्ध है।

कुछ कीड़ों में हम चले गए:

यदि आप W3 Total Cache का उपयोग कर रहे हैं और आपके पास डेटाबेस कैशिंग है, तो आपको अपवर्जन सूची में निम्नलिखित नियम जोड़ना होगा।

/ यादृच्छिक /
/index.php?random=1

यदि आप यॉस्ट के वर्डप्रेस एसईओ प्लगइन का उपयोग कर रहे हैं, तो परिमार्जन क्षेत्र में बदसूरत यूआरएल चेकबॉक्स पुनर्निदेश का उपयोग न करें अन्यथा यह कोड काम नहीं करेगा।

अब आप हमारी साइट पर हमारे जैसे छोटे अन्वेषण बटन बना सकते हैं।