интегрировать код PHP с контактной формой 7 полей - PullRequest
0 голосов
/ 18 июня 2019

Я хочу получить значения поля contact-form-7 и сохранить их в переменной PHP.Я собираюсь сделать форму бронирования, в которой у меня есть 2 категории выбора, на основе которых я хочу уменьшить значение переменной.

Я открываю код и каталог contact-form-7, но не получаю, гдефайлы хранятся.мой заказ на WordPress выглядит как

https://prnt.sc/o3g1a9

Вот пример кода PHP

<?php
$cow = 100;
$goat = 200;
if (isset($_POST['cow']) || isset($_POST['goat'])) {
if(isset($_POST['cow'])){
    $cowSelect = $_POST['cow'];
    switch ($cowSelect) {
        case '1':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '2':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '3':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '4':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '5':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '6':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '7':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '8':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        case '9':
          $cow = ($cow - $_POST['cow']);
          echo 'Total ' .$cow. ' cows remaning'.'<br/>';
          break;
        default:
          echo 'please select the category';
          break;
    }
}
if(isset($_POST['goat'])){
    $goatSelect = $_POST['goat'];
    switch ($goatSelect) {
        case '1':
          $goat = ($goat - $_POST['goat']);
          echo 'Total '.$goat. ' goats remaning'.'<br/>';
        break;
        case '2':
          $goat = ($goat - $_POST['goat']);
          echo 'Total '.$goat. ' goats remaning'.'<br/>';
        break;
        case '3':
          $goat = ($goat - $_POST['goat']);
          echo 'Total '.$goat. ' goats remaning'.'<br/>';
        break;
        case '4':
          $goat = ($goat - $_POST['goat']);
          echo 'Total '.$goat. ' goats remaning'.'<br/>';
        break;
        case '5':
          $goat = ($goat - $_POST['goat']);
          echo 'Total '.$goat. ' goats remaning'.'<br/>';
        break;

        default:
            echo 'please select the category';
        break;
    }
}
}

?>

<form action="" method="post">
    <select name="cow">
          <option value="">Select cow</option>

        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>

    </select>
    <select name="goat">
      <option value="">Select goat</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
    </select>
    <input type="submit" name="submit" value="Go"/>
</form>

Я сделал пример кода PHP, но хочу такую ​​же работу для WordPresscontact-form-7 помогите мне как интегрировать код PHP с contact-form-7?или как заставить значения contact-form-7 выполнять ту же работу, что и код PHP?

1 Ответ

0 голосов
/ 20 июня 2019

Вы захотите взглянуть на крючки, которые предоставляет контактная форма 7. В ответ вы получите желаемый результат.

Что касается выпадающих списков, вы создаете их в редакторе форм Contact Form 7. с предоставленными параметрами.

Вы можете увидеть список хуков в http://hookr.io/plugins/contact-form-7/5.1.3/hooks/#index=a (для последней версии CF7), вы, вероятно, захотите что-то вроде хука wpcf7_ajax_json_echo, чтобы изменить исходящий ответ, возвращаемый пользователю. Вот пример:

Нечто подобное (не проверено), но оно будет в вашем wp-content / themes / footheme / functions.php (ваша тема, файл функций).

add_filter('wpcf7_ajax_json_echo', function( $response, $result )
{
    $cow  = 100;
    $goat = 200;

    if (isset($response['cow']) || isset($response['goat'])) {
        if (isset($response['cow'])) {
            $cowSelect = $response['cow'];
            $cow = ($cow - $response['cow']);

            switch ($cowSelect) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                    $message .= 'Total '.$cow.' cows remaning'.'<br/>';
                    break;
            }
        }

        if (isset($response['goat'])) {
            $goatSelect = $response['goat'];
            $goat = ($goat - $response['goat']);

            switch ($goatSelect) {
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                    $message .= 'Total '.$goat.' goats remaning'.'<br/>';
                    break;
            }
        }
    }

    return $response;
}, 10, 2);

Тогда вам просто нужно создать выпадающий список с нужными вам опциями, сделать его необходимым (если это необходимо) в редакторе форм Contact Form 7.

Редактировать пример того, как создавать выпадающие меню в редакторе CF7:

[select cows "1" "2" "3"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...