मैं Wordpress के लिए cf7 प्लगइन के साथ एक संपर्क फ़ॉर्म बना रहा हूँ। इस रूप में मुझे एक ड्रॉप डाउन मेनू की आवश्यकता है जो हर साल अपने आप बदल जाता है। ड्रॉप डाउन मेनू में मुझे 2020, 2019, 2018, 2017, 2016, 2015 के प्रारूप में वर्तमान और पिछले 5 वर्षों की आवश्यकता है। प्लगइन के साथ इसे बनाना आसान है, लेकिन निश्चित रूप से, जब 2021 आता है, तो मैं चाहूंगा कि ड्रॉप डाउन मेन्यू अपने आप 2021, 2020, 2019, 2018, 2017 और 2016 में बदल जाएगा। ताकि 2015 गायब हो जाए (डिलीट)।

इस खतरे में कोड के आधार पर I चालू वर्ष को स्वचालित रूप से जोड़ने का प्रयास किया, लेकिन दुर्भाग्य से मैं पहले से ही अटका हुआ हूं। उम्मीद है कि कोई इसमें मेरी मदद कर सकता है।

अग्रिम में धन्यवाद। सादर,

वास्को

0
Vasco 27 पद 2020, 18:59
यहां वह उत्तर है जो आपको चाहिए। bdwm.be /…
 – 
Tami
27 पद 2020, 21:12
धन्यवाद तमी, लेकिन यह वह समाधान नहीं है जिसकी मुझे तलाश है। मुझे यह पोस्ट पहले मिली थी, और यह उदाहरण के लिए एक बड़ी सूची बनाने के लिए है। तो हाँ, मैं बहुत सारे साल जोड़ सकता हूँ (जैसे 2015 से 2099 तक), लेकिन यह अभी भी अपने आप नहीं बदलेगा।
 – 
Vasco
27 पद 2020, 21:46
ठीक है, मैं उस उदाहरण के आधार पर आपके लिए एक समाधान निकालने की कोशिश करूँगा
 – 
Tami
27 पद 2020, 23:28

1 उत्तर

सबसे बढ़िया उत्तर

उपयोग संपर्क फ़ॉर्म में इस तरह उपयोग करें:

[हाल के वर्षों के डेटा का चयन करें: वर्ष]

अपने चाइल्ड थीम के functions.php में, या एक कस्टम प्लगइन में, इस फ़ंक्शन को 5 सबसे हाल के वर्षों के साथ ड्रॉपडाउन को गतिशील रूप से पॉप्युलेट करने के लिए जोड़ें, और जैसे-जैसे वर्ष बीतते हैं, वर्षों को स्वचालित रूप से अपडेट करें:

function vasco_five_most_recent_years ($values, $options, $args) {

       if ( in_array('years', $options) ){
    
            $years = [];
            $i = 0;

            for( $i = 0; $i < 5; $i++){ // Get 4 most recent years after current year

                 $years[] = (int) date("Y") - $i;
             }

             return $years ;
       }

      return $values;
    }

 add_filter('wpcf7_form_tag_data_option', 'vasco_five_most_recent_years', 10, 3);

परीक्षण किया गया, सही ढंग से काम कर रहा है, इस तरह फॉर्म में दर्ज किया गया है:

setting in cf7 form

इस तरह फ्रंटएंड पर रेंडरिंग:

dynamically populated cf7 form

यहां ट्यूटोरियल के आधार पर https://bdwm.be/dynamically-populate-a-contact-form-7-dropdown-list-or-any-other-input-field/

0
Tami 28 पद 2020, 03:26
धन्यवाद, लेकिन दुर्भाग्य से यह काम नहीं करता है। मुझे एक खाली ड्रॉप-डाउन (---) दिखाई देता है और पेज लोड पर मुझे स्प्लिट सेकेंड के लिए PHP कोड दिखाई देता है। मैंने आपके कोड को ट्विक करने की कोशिश की, लेकिन कोई नतीजा नहीं निकला।
 – 
Vasco
28 पद 2020, 01:12
कोड पृष्ठ के शीर्ष पर सामने के छोर पर भी दिखाया गया है।
 – 
Vasco
28 पद 2020, 01:33
हाँ, ठीक है, मैंने इसे परीक्षण किए बिना लिखा था। मैं इसे अभी ठीक से लिख रहा हूं और उत्तर को संपादित करूंगा
 – 
Tami
28 पद 2020, 03:13
मुझे कभी खाली ड्रॉपडाउन नहीं मिला, न ही आपके द्वारा रिपोर्ट किया गया PHP कोड फ्लैश। ऐसा लगता है कि आपके द्वारा CF7 फॉर्म में फ़ंक्शन या शोर्ट को लागू करने के तरीके में कुछ गड़बड़ है। मुझे फ़ंक्शन को अपडेट करना पड़ा क्योंकि यह अब सही ड्रॉपडाउन रेंडरिंग के बजाय 2020 और फिर 2019 को 4 गुना दिखा रहा था।
 – 
Tami
28 पद 2020, 03:27
मुझे नहीं पता कि क्या गलत था, यह अब सही काम करता है! धन्यवाद। तो अगर मैं सही हूं, तो 2021 में यह मेनू से 2016 को छुपा/हटा देगा और 2021 दिखाएगा?
 – 
Vasco
28 पद 2020, 04:12