使用按钮类型Submit将值发送到WooCommerce

时间:2018-07-18 作者:Quentin

我正在使用wp众筹扩展,我正在覆盖一个名为“fund campaign btn.php”的文件。

它的功能:显示一个字段和一个按钮,这样您就可以键入您的价格,然后单击按钮将您的价格发送到woocommerce的结账页面。

在我的例子中,我对它做了一些修改,而不是一个空白字段,我制作了一个价格列表,因此用户可以单击他想要的价格,然后单击按钮。该列表有效,但我不明白为什么当我单击按钮时,它会将“0”发送到我的结账台。

以下是原始代码:

 <form enctype="multipart/form-data" method="post" class="cart">
                <?php do_action(\'before_wpneo_donate_field\'); ?>
                <?php echo get_woocommerce_currency_symbol(); ?>
                <input type="number" step="any" min="0" placeholder="<?php echo $recomanded_price; ?>" name="wpneo_donate_amount_field" class="input-text amount wpneo_donate_amount_field text" value="<?php echo $recomanded_price; ?>" data-min-price="<?php echo $min_price ?>" data-max-price="<?php echo $max_price ?>" >
                <?php do_action(\'after_wpneo_donate_field\'); ?>

                <input type="hidden" value="<?php echo esc_attr($post->ID); ?>" name="add-to-cart">
                <button type="submit" class="<?php echo apply_filters(\'add_to_donate_button_class\', \'wpneo_donate_button\'); ?>"><?php _e(\'Back Campaign\', \'wp-crowdfunding\'); ?></button>
 </form>
这里是我的代码:

<form enctype="multipart/form-data" method="post" class="cart">
                <?php do_action(\'before_wpneo_donate_field\');
                   $valAction = get_field(\'valeur_dune_action_admin_section\');
                    $nbactions = 500000 / $valAction;
                ?>

                      <select type="number" step="any" name="actions" id="actions-select" name="wpneo_donate_amount_field" class="input-text amount wpneo_donate_amount_field text">
                       <?php 
                        $i = 1;
                        if ($nbactions != 0)
                        {
                            while ($i <= $nbactions) {
                            echo \'<option value="\' . $valAction * $i . \'">\' . $valAction * $i . \'</option>\';
                            $i++;
                            }
                        }

                            ?>
                        </select>

                <?php 
                echo get_woocommerce_currency_symbol();

                do_action(\'after_wpneo_donate_field\'); ?>

                <input type="hidden" value="<?php echo esc_attr($post->ID); ?>" name="add-to-cart">


                <button type="submit" class="<?php echo apply_filters(\'add_to_donate_button_class\', \'wpneo_donate_button\'); ?>"><?php _e(\'Back Campaign\', \'wp-crowdfunding\'); ?></button>
</form>

1 个回复
最合适的回答,由SO网友:Hồ Trọng Linh Ân 整理而成

在选择标记处,您有2个名称属性

<select type="number" step="any" name="actions" id="actions-select" name="wpneo_donate_amount_field" class="input-text amount wpneo_donate_amount_field text">
然后,当您提交时,它只收集第一个定义的名称。(name=“操作”)。必须删除此属性。并且仅使用name=“wpneo\\u generate\\u amount\\u field”。

应该是这样的

<select type="number" step="any" id="actions-select" name="wpneo_donate_amount_field" class="input-text amount wpneo_donate_amount_field text">

结束

相关推荐

Form Object Gravity Forms

重力形式。我尝试在渲染表单字段之前对其进行操作add_filter(\"gform_pre_render\", \"my_function\", 10, 5); function my_function($form){ ... $form[\"fields\"][0][\"content\"] = \'This is a html-block\' } 这样,我可以传递html块的内容,假设html是表单上的第一个字段。如何通过id? 假设上面的html块