WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Передача данных в Contact Form 7

Есть задача при вызове popup окна на странице товара в woocommerce с формой Contact Form в тело письма запроса цены добавить к шаблону письма

  • url страницы, на которой вызвано модальное окно
  • название товара
    прошу дать ссылку на соответствующую документацию
Заметки к вопросу:
Glum 20 дней назад

Думаю вот этот фильтр вам поможет wpcf7_before_send_mail

0
OlderFisher
21 день назад
  • 0
    el-lable205 cайт: el-lable.ru

    так просто это не делается, у Вас будет что-то вроде

    // form correct send message
    	$('.wpcf7').bind('wpcf7submit', function(e){
    		if(!e.detail.apiResponse.invalidFields){
    			// тут что-то делаем на JS
    		}
    	});

    А дальше и все прочее вам сделают на заказ.
    Обращайтесь к проггерам.

    Комментировать
  • 0

    Есть плагин dynamic text extension
    Можно создать скрытое поле, в котором будет post_title.

    Комментировать
  • 0
    Glum100
    add_filter( 'wpcf7_before_send_mail', 'wpcf7_add_text_to_mail_body' );
    
    function wpcf7_add_text_to_mail_body( $contact_form ) {
    	$form_id = $contact_form->posted_data['_wpcf7'];
    	if ( $form_id == 'Form ID' ) {
    		global $wp;
    		$current_url = get_home_url( $wp->request );
    
    		$mail = $contact_form->prop( 'mail' ); 
    
    		$mail['body'] .= __( 'Current url:' ) . $current_url;
    
    		if ( class_exists( 'WooCommerce' ) ) { 
    			global $product;
    			$product_name = $product->get_name();       
    
    			$mail['body'] .= __( 'Product name:' ) . $product_name;
    		}
    
    		$contact_form->set_properties( array( 'mail' => $mail ) );
    	}
    }
    OlderFisher 8 дней назад

    add_action нужно заменить на add_filter. Спасибо за то что помогли разобраться

    Glum 8 дней назад

    Спасибо что поправили, исправил коммент, может ещё кому-то пригодится

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация