2012-11-01 16 views
6

संपर्क फ़ॉर्म 7 में आज के दिनांक प्राप्त करने के लिए [_date] जैसे कुछ शॉर्टकोड हैं। लेकिन मैं अब से एक सप्ताह की तारीख प्रदर्शित करना चाहता हूं।वर्डप्रेस संपर्क फ़ॉर्म 7 कस्टम शॉर्टकोड

इसलिए मुझे फॉर्म 7 से संपर्क करने के लिए एक कस्टम शोर्ट बनाने की आवश्यकता है जो [next_week] कहता है और प्राप्त ईमेल में सही तिथि प्रदर्शित होती है।

मैं फॉर्म 7 से संपर्क शॉर्टकोड कहां और कैसे बना सकता हूं?

उत्तर

13

अपने functions.php

wpcf7_add_shortcode('custom_date', 'wpcf7_custom_date_shortcode_handler', true); 

function wpcf7_custom_date_shortcode_handler($tag) { 
    if (!is_array($tag)) return ''; 

    $name = $tag['name']; 
    if (empty($name)) return ''; 

    $next_week = date('Y-m-d', time() + (60*60*24*7)); 
    $html = '<input type="hidden" name="' . $name . '" value="' . $next_week . '" />'; 
    return $html; 
} 
अब में

"के लिए निम्न जोड़ें फॉर्म "फ़ील्ड सीएफ 7 जीयूआई प्रकार [custom_date next_week]

अब आप [next_week] को गड़बड़ में उपयोग कर सकते हैं आयु शरीर

+1

के लिए मेरा उत्तर मैं अपनी आवश्यकताओं के लिए एक सरल संस्करण का उपयोग करता हूं: 'wpcf7_add_shortcode (' input_name ', फ़ंक्शन ($ टैग) {वापसी' <इनपुट नाम = "'$ टैग [' बेसटाइप ']।' 'मान = "your_value" /> '}); ' – vladkras

0

मैंने पहले नहीं किया है, लेकिन मुझे लगता है कि शॉर्टकोड वर्डप्रेस द्वारा ही प्रबंधित होते हैं (यहां तक ​​कि प्लगइन के लिए भी प्लगइन के रूप में)।

एक उदाहरण एक साधारण शोर्ट बनाने के लिए है:

//[foobar] 
function foobar_func($atts){ 
return "foo and bar"; 
} 
add_shortcode('foobar', 'foobar_func'); 

functions.php में डाला जा सकता।

अधिक जानकारी के लिए: http://codex.wordpress.org/Shortcode_API

या आप यह है कि काम करने के तरह एक प्लगइन का उपयोग कर सकते हैं: http://wordpress.org/extend/plugins/shortbus/

+1

CF7 प्रिंट [foobar], पोस्ट और पृष्ठों "foo और बार" मुद्रित करें। तो यह काम नहीं किया। – halliewuud

+0

यह ठीक काम करता है जब आप फॉर्म में शोर्ट का उपयोग करना चाहते हैं लेकिन यह ईमेल बीइंग में काम नहीं करता है। सही समाधान – halliewuud

0

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

यहां बताया गया है मैं अंत में यह किया:

// Allow custom shortcodes in CF7 HTML form 
add_filter('wpcf7_form_elements', 'dacrosby_do_shortcodes_wpcf7_form'); 
function dacrosby_do_shortcodes_wpcf7_form($form) { 
    $form = do_shortcode($form); 
    return $form; 
} 

// Allow custom shortcodes in CF7 mailed message body 
add_filter('wpcf7_mail_components', 'dacrosby_do_shortcodes_wpcf7_mail_body', 10, 2); 
function dacrosby_do_shortcodes_wpcf7_mail_body($components, $number) { 
    $components['body'] = do_shortcode($components['body']); 
    return $components; 
}; 

// Add shortcode normally as per WordPress API 
add_shortcode('my_code', 'my_code_callback'); 
function my_code_callback($atts){ 
    extract(shortcode_atts(array(
     'foo' => 'bar' 
    ), $atts)); 

    // do things 
    return $foo; 
} 
संबंधित मुद्दे