• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Как добавить форму вместо "нет в наличии"?

Delirium_Tremens

Новичок
Добрый день!
У меня задача: когда товара нет в наличии, нужна возможность заполнить форму для листа ожидания. Плагины типа backinstocknotifier позволяют только подписаться на появление товара.
Как бы мне это сделать? Для форм использую dhvc-forms.
 

Sahka

Новичок
Расскажите, пожалуйста, о решении народу. Поделитесь. Не стесняйтесь ;)

Да всегда пожалуйста)

Осуществил с помощью плагинов: popup maker, contact form 7 и дополнение для Contact Form 7 - Dynamic Text Extension (по сути можно обойтись без них или поменять на свои вкусы. (объясню для чего дополнение: с его помощью мы в письме будем возвращать ссылку на товар и название товара со страницы товара. CF 7 имеет такую функцию изначально, но у меня не получилось вернуть урл, либо потому что woocommerce страница либо из-за того, что форма в попап окне.)
Все функции добавляем в functions.php вашего шаблона.

PHP:
function hide_free_price_notice( $price ) {
  return '
  <style type="text/css">
  form.cart {display: none !important;}
  </style>
  <a href="#popmake-6147" class="pop">Заявка на просчет</a>';
}

Ставим товару цену 0 (это обязательное). Первой функцией мы меняем текст по умолчанию "бесплатно" на то, что нам нужно. в данном случае это ссылка на поп-ап окно. стилями я скрыл блок с корзиной у данных товаров. Конечно, можно улучшить прописав в что-либо в php, но у меня таких знаний нет.

PHP:
function cf7_post_url(){
   global $post;

   $name = $post->post_title;
   $url  = get_permalink( $post );

   $html = sprintf('Поступил заказ на товар %s %s', $url, $name);

   return $html;
}
add_shortcode('CF7_POST_URL', 'cf7_post_url');

Вторая функция имеет отношение к dynamic text extension, тут в принципе всё ясно. Первое значение %s будет в письме ссылкой, второе значение %s название товара. Можно сделать код следующим <a href="%s">s%</a>, только при этом не забыть в CF7 поставить преобразование тегов html в письме.

Дальше в CF в шаблоне формы нужно вставить следующее:

Код:
[dynamichidden post-url "CF7_POST_URL"]

А в шаблоне письма вернуть:

Код:
[post-url]

Вот и всё. Ну саму формы думаю каждый в силах сделать. По сути мне кажется можно в данной функции замутить do_shortcode, если нет нужды в попапе.

P.S. Да, забыл уточнить, что данная кнопка появится еще в каталоге товаров.
 
Сверху Снизу