gpt4 book ai didi

php - 以重力形式获取 Woocommerce 订单号

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:49:53 27 4
gpt4 key购买 nike

我正在处理重力表,我需要从 Woocommerce 获取订单号。当用户成功下单时,订单号应传递给表单,以便用户可以管理该订单的更多内容。我正在使用这些插件:1. 电子商务2.重力形式3. Gravity Form产品插件

我需要在 Gravity Form Select 中动态显示订单号,如下所示:

<select>
<option value="">Please Select the Order Number</option>
<option value="28">28</option>
<option value="30">30</option>
</select>

下面是我用来从 wordpress 模板文件中获取此功能的代码。对于此模板页面,我使用 Gravity 表单简码来显示表单。此代码正在使用该已登录用户的订单号创建一个选择标签 class="hide",我使用 css 隐藏它并调用函数克隆和附加,以便克隆字段值并将其附加到重力表单选择字段 id #input_3_2。

<?php if ( is_user_logged_in() ) {
$customer_orders = get_posts( apply_filters( 'woocommerce_my_account_my_orders_query', array(
'numberposts' => $order_count,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => 'shop_order',
'post_status' => 'publish'
) ) );?>

<?PHP if ( $customer_orders ) : ?>
<select class="hide">

<?php
foreach ( $customer_orders as $customer_order ) {
$order = new WC_Order();

$order->populate( $customer_order );
$item_count = $order->get_item_count();

?>

<option value="<?php echo $order->get_order_number(); ?>"><?php echo $order->get_order_number(); ?></option>



<?php
}
?>
<?php endif; ?>
</select>
<script>
jQuery(document).ready(function() {
jQuery('select.hide').find('option').clone().appendTo('#input_3_2');
});
</script>

此代码有效但有缺点,我知道这不是完美的方法。我希望 functions.php 像下面的代码一样动态地处理此功能。

add_filter('gform_field_content', 'modify_field', 10, 5);
function modify_field($modify_html, $field){
if($field['formId'] == 6){
if($field['id'] == 5){$modify_html = str_replace("<option value='' >Please Select Your Order Number</option>","<option value='27'>27</option><option value='30'>30</option>",$modify_html);}
}
return $modify_html;
}

最佳答案

可以使用以下方法实现在您的案例中动态加载选项的功能。

  • 一个 php 函数,它将返回当前用户的所有订单号。
  • 对此函数的 ajax 调用,间隔设置为 x 秒。(这将调用 php 函数每秒运行一次,以检查服务器是否有所有订单号)。
  • 在设置间隔函数中更新下拉列表的所有选项。

关于php - 以重力形式获取 Woocommerce 订单号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262320/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com