【问题标题】:Auto-populate input form field from URL parameters从 URL 参数自动填充输入表单字段
【发布时间】:2018-02-19 04:05:03
【问题描述】:

我在 woocommerce 页面 (http://.../product/abcd/) 上有一个按钮,该按钮有一个“立即预订约会”按钮,该按钮链接到另一个页面,其中包含要提交的表单字段 (http://.../booking-appointments/?id=1238&sku=1),其中有 ProductIDSKU上一页中该产品的 URL。

我希望它在每次从 URL 参数加载此页面时自动填充 ProductID 字段。

感谢任何帮助。

【问题讨论】:

    标签: php jquery wordpress woocommerce custom-fields


    【解决方案1】:

    要在您的预订表单(页面)中自动填充产品 ID 和产品 SKU,您应该尝试这个(没有任何保证,因为它可以在您的页面表单上进行真实测试)

    add_action( 'wp_footer', 'autopopulate_product_id_script' );
    function autopopulate_product_id_script() {
        if( isset( $_GET['id'] ) ):
            ?>
            <script type="text/javascript">
            (function($){
                $('input[name="productid"]').val("<?php echo $_GET['id']; ?>");
                $('input[name="productsku"]').val("<?php echo $_GET['sku']; ?>");
            })(jQuery);
            </script>
            <?php
        endif;
    }
    

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    产品 id 和产品 sku 需要在 url 中传递,例如:http//www.example.com/booking-page/?id=124&amp;&amp;sku=AH1584

    您的 &lt;imput&gt; 文本字段应该类似于:

    <input type="text" name="productid" val="">
    <input type="text" name="productsku" val="">
    

    所以对于产品 sku 来说是类似的东西,您可以轻松添加...

    但是由于javascript已经在您的“轻松约会”预订表格中非常活跃,我不知道这是否会起作用。


    此答案与:Add custom "Booking" button to WooCommerce Product single pages

    【讨论】:

    • 再次感谢,但我在哪里添加 在文件中?
    【解决方案2】:

    您可以在 URL 中传递产品 ID 和 SKU,并通过$_GET 获取。然后将其加载到输入字段中。这是一个例子:

    http://www.example.com/?product-id=123&amp;sku=abcd456

    然后使用$_GET获取URL参数:

    $productId = $_GET['product-id'];
    $sku = $_GET['sku'];
    

    你的输入框应该是这样的:

    <label for="product-id">Product ID:</label> <input type="text" name="product-id" id="product-id" value="<?php echo $productId; ?>" disabled>
    

    我什至添加了disabled 属性以防止用户/客户编辑产品 ID。提交表单时,您可以使用 PHP 从后端保护它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2019-07-27
      • 2014-07-12
      • 1970-01-01
      • 2018-11-12
      相关资源
      最近更新 更多