add( 'dynamictext', //id __('dynamic text', 'contact-form-7-dynamic-text-extension'), //title 'wpcf7dtx_tag_generator_dynamictext', //callback array('placeholder', 'readonly') //options ); //Dynamic Hidden Field $tag_generator->add( 'dynamichidden', //id __('dynamic hidden', 'contact-form-7-dynamic-text-extension'), //title 'wpcf7dtx_tag_generator_dynamictext' //callback ); } add_action('wpcf7_admin_init', 'wpcf7dtx_add_tag_generator_dynamictext', 100); /** * Echo HTML for Dynamic Tag Generator * * @param WPCF7_ContactForm $contact_form * @param array $options * @return void */ function wpcf7dtx_tag_generator_dynamictext($contact_form, $options = '') { $options = wp_parse_args($options); $type = $options['id']; switch ($type) { case 'dynamichidden': //hiden $description = __('Generate a form-tag for a hidden input field, with a dynamically generated default value.', 'contact-form-7-dynamic-text-extension'); break; default: $description = __('Generate a form-tag for a single-line plain text input field, with a dynamically generated default value.', 'contact-form-7-dynamic-text-extension'); break; } $utm_source = urlencode(home_url()); $description .= sprintf( ' %s %s.', __('For more details, see', 'contact-form-7-dynamic-text-extension'), esc_attr($utm_source), //UTM source esc_attr($type), //UTM content __('DTX knowledge base', 'contact-form-7-dynamic-text-extension') ); //Open Form-Tag Generator printf( '