Добавьте дополнительную кнопку на странице магазина woocommerce и используйте ее для отправки информации о продукте, включая изображение, по почте. - PullRequest
0 голосов
/ 11 января 2020
  1. Я хочу добавить дополнительную кнопку после «добавить в корзину».
  2. Откроется форма, содержащая только поле электронной почты.
  3. После отправки идентификатора электронной почты, она отправит название продукта, изображение, описание на этот идентификатор электронной почты.

Вот графическое представление вышеуказанной проблемы: enter image description here

1 Ответ

1 голос
/ 11 января 2020

Сначала вы можете подключить действие, которое добавит кнопку после добавления в корзину. Это можно сделать, вставив приведенный ниже код в функции. php file

add_action( 'woocommerce_after_add_to_cart_button', 'send_via_email_btn' );
function send_via_email_btn(){
   $btn = '<div class="btn-wrap"><a href="Javascript:void(0)" 
   onclick="openpopup">Send Via Email</a></div>';
   echo $btn;
}

Далее необходимо создать форму, в которой у вас будут скрытые поля ввода, которые будут публиковаться вместе с идентификатором электронной почты. Вы можете добавить эту всплывающую форму в нижний колонтитул. php file

<form action="index.php">
   <input type="email" name="email" placeholder="email">
   <input type="hidden" name="post_title" value="<?php echo get_the_title(); ?>">
   <input type="hidden" name="post_content" value="<?php echo get_the_excerpt(); ?>">
   <input type="hidden" name="post_image" value="<?php echo get_the_post_thumbnail_url(); ?>">
   <input type="hidden" name="form_type" value="mailp_info">
   <button type="submit">Send</button>
</form>

if(isset($_POST['form_type']) && !empty($_POST['form_type']) && $_POST['form_type'] == "mail_info") {
  $post_title = $_POST['post_title'];
  $shortcontent = $_POST['post_content'];
  $img = $_POST['post_image'];

 $headers = array('Content-Type: text/html; charset=UTF-8','From: My Site Name &lt;support@example.com');
 $to = 'emailsendto@example.com';
 $subject = 'Product Info';
 $body = 'Product Name: '.$post_title.'<br>Product Description: '.$shortcontent;
 $attachments = array( $img );

 wp_mail( $to, $subject, $body, $headers, $attachments );
}

Надеюсь, это сработает для вас. Дайте мне знать, если возникнут вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...