【问题标题】:integrate PHP code with contact form 7 fields将 PHP 代码与联系表单 7 字段集成
【发布时间】:2019-06-18 15:03:06
【问题描述】:

我想获取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 代码示例,但我希望对 WordPress 的 contact-form-7 进行相同的工作 帮助我如何将 PHP 代码与 contact-form-7 集成?或者如何获取 contact-form-7 值来完成与 PHP 代码相同的工作?

【问题讨论】:

  • 搜索联系表格 7 钩子。
  • 你能清除答案吗?如果我找到了钩子,那么我将如何设置它?您能否举一个简短的例子,通过它我可以了解我将如何完成这项工作?

标签: php wordpress contact-form-7


【解决方案1】:

您需要查看 Contact Form 7 提供的 Hooks。您将连接到响应以输出您想要的内容。

至于下拉菜单,您可以使用提供的选项在 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"]

【讨论】:

  • 嗨!亲爱的,非常感谢您的精彩回答。你能帮我如何在我的表单中添加下拉列表和显示吗,因为我非常纠结这个问题。非常感谢
猜你喜欢
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
相关资源
最近更新 更多