Wp_redirect और चर भेजना


12

मेरे विषय फ़ोल्डर में function.php फ़ाइल से wp_redirect () के साथ कुछ चर कैसे भेजें?

if ( $post_id ) {
    $variable_to_send = '1';
    wp_redirect( home_url(), $variable_to_send );
    exit;
}

और होमपेज पर मैं वेरिएबल को if-else कंडीशन में कुछ कन्फर्मेशन दिखाने के लिए कैच करूंगा या नहीं $variable_to_send= '1' है या नहीं।

वर्डप्रेस में ऐसा कैसे करें?

जवाबों:


10

मुझे डर है कि आप इसे इस तरह से नहीं कर सकते।

wp_redirectहेडर भेजने का एक फैंसी तरीका है Locationऔर इस फ़ंक्शन का दूसरा तर्क अनुरोध स्थिति है, और कस्टम चर नहीं है। (404, 301, 302, और इसी तरह)।

आप मापदंडों के रूप में कुछ चर भेज सकते हैं। तो आप ऐसा कुछ कर सकते हैं:

if ( $post_id ) {
        $variable_to_send = '1';
        wp_redirect( home_url() .'?my_variable='.$variable_to_send );
        exit;
}

फिर आप इन चरों का उपयोग कर सकते हैं $_GET['my_variable']या इसे कस्टम चर के रूप में पंजीकृत कर सकते हैं ।


1
आप एक कुकी भी सेट कर सकते हैं, मुझे लगता है।
बेन पोलिंस्की

1
आपको इसे वर्डप्रेस तरीके से करने के लिए add_query_arg का उपयोग करने की आवश्यकता है।
शिवानंद शर्मा

@ शिवानंदशर्मा आप हो सकते हैं, लेकिन URL_query_arg का उपयोग करने की कोई आवश्यकता नहीं है, बिना किसी अन्य क्वेरी args के URL में सिर्फ एक arg जोड़ने के लिए।
Krzysiek Dróżdż

10

इस एक के साथ पार्टी के लिए देर हो चुकी है, लेकिन इसे करने के लिए "Wordpress तरीका" ऐसा उपयोग करेगा add_query_arg:

if ( $post_id ) {
    wp_redirect( esc_url( add_query_arg( 'variable_to_send', '1', home_url() ) ) );
    exit;
}

यह एक रीडायरेक्ट को आरंभ करेगा http://my.website/?variable_to_send=1। आप अपने PHP कोड में home_url()एक्सेस करके , चर, फिर, होमपेज (या ब्लॉग पेज पर निर्भर करता है कि आपका सेटअप कैसे है) पर कब्जा कर सकते हैं $_GET['variable_to_send']

यदि आप इसमें ऐसा करने जा रहे हैं functions.php, तो सुनिश्चित करें कि हुक initया इसी तरह का शुरुआती हुक है या फिर आपको "हेडर पहले से भेजे गए" त्रुटि मिलेगी।

उम्मीद है कि यह इस पोस्ट में ठोकर खाने वाले किसी व्यक्ति की मदद करता है।


7
यदि आप किसी स्थानीय पते पर पुनर्निर्देशित कर रहे हैं, तो आपको उपयोग करना चाहिए wp_safe_redirect()
नाथन जॉनसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.