相关疑难解决方法(0)

如何通过ID查看WooCommerce订单的付款方式?

如果选择的付款方式是COD,我想做一些更改.在我使用的现有WC_Order上

($order->payment_method_title == 'Cash On Delivery' ? ... : ... );
Run Code Online (Sandbox Code Playgroud)

检索标题.但我想检查id(cod),因为标题字符串被翻译成不同的语言,这不是一个很好的解决方案.

有没有办法在woocommerce中的WC_Order上检索id?

wordpress woocommerce payment-method

17
推荐指数
3
解决办法
3万
查看次数

如何在WooCommerce中付款后查看订单状态

我需要在收到付款后自动更改已完成的订单状态,但前提是订单状态为"正在处理".我找到了片段,在每种情况下都会使订单状态完成,但是在成功付款更改后我的付款插件会返回数据并更改"处理"的订单状态.我想在成功后将其更改为"已完成",如果状态不是"处理",则不要更改它.我遇到的主要问题是我不知道如何获得收到的状态订单.

这是我的代码:

add_filter( 'woocommerce_thankyou', 'update_order_status', 10, 2 );

function update_order_status( $order_id ) {
   $order = new WC_Order( $order_id );
   $order_status = $order->get_status();    
   if ('processing' == $order_status) {    
       $order->update_status( 'completed' );    
    }    
 //return $order_status;
}
Run Code Online (Sandbox Code Playgroud)

我已经弄清楚了.这是工作代码:

add_filter( 'woocommerce_thankyou', 'update_order_status', 10, 1 );

function update_order_status( $order_id ) {
  if ( !$order_id ){
    return;
  }
  $order = new WC_Order( $order_id );
  if ( 'processing' == $order->status) {
    $order->update_status( 'completed' );
  }
  return;
}
Run Code Online (Sandbox Code Playgroud)

php wordpress payment-gateway orders woocommerce

9
推荐指数
2
解决办法
2万
查看次数

Woocommerce 批量更改订单状态

我目前在使用 WooCommerce 网站时遇到一些问题。有数千个旧订单停留在“处理中”状态。这些订单已收到付款,产品已发货。

我想将这些订单标记为完成,而不发送已完成的订单电子邮件。我想使用以下 SQL 查询来实现此目的。

update wp_posts set post_status = 'wc-completed' where post_type = 'shop_order' and post_status ='wc-processing' ;
Run Code Online (Sandbox Code Playgroud)

我还需要更改其他表吗?或者这可行吗?

谢谢

编辑:上面的代码对我来说非常有效。

mysql wordpress woocommerce

5
推荐指数
1
解决办法
4057
查看次数

如何在Woocommerce的链接产品中添加更多自定义字段

感谢StackOverflow的所有开发人员.

我想在Woocommerce的Linked Product部分添加更多字段.这些字段应与Upsell/Crosssell类似.

我的代码到目前为止: -

add_action( 'woocommerce_product_options_linked_product_data', 'woocom_general_product_data_custom_field' );

 woocommerce_wp_text_input( 
    array( 
      'id' => '_upsizing_products', 
      'label' => __( 'Upsizing Products', 'woocommerce' ), 
      'placeholder' => 'Upsizing Products',
      'desc_tip' => 'true',
      'description' => __( 'Select Products Here', 'woocommerce' ) 
    )
  );
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我需要组合框,例如,当您在输入框中键入3个字符时,它将显示可以选择的匹配产品列表.与Upsell/Cross Sell类似.

请任何人帮我实现此自定义字段.提前致谢.

编辑:有人吗?

php wordpress woocommerce hook-woocommerce

4
推荐指数
1
解决办法
1913
查看次数

在从处理到待处理创建订单时设置WooCommerce订单状态

创建woocommerce订单时,订单的状态为"正在处理".我需要将默认订单状态更改为"待定".

我怎样才能做到这一点?

php wordpress checkout orders woocommerce

4
推荐指数
1
解决办法
1万
查看次数

WooCommerce改变订单状态BACS处理

在WooCommerce中,任何与BACS(直接银行转帐)相关的订单都设置为"on-hold".

如何自动将其更改为处理?

我不想在里面工作 functions.php

我有以下代码,但这不起作用:

add_filter( 'woocommerce_payment_complete_order_status', 'rfvc_update_order_status', 10, 2 );

function rfvc_update_order_status( $order_status, $order_id ) {
    $order = new WC_Order( $order_id );
    if ( 'on-hold' == $order_status && 'on-hold' == $order->status ) {
        return 'processing';
    }
    return $order_status;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒!

php wordpress orders woocommerce payment-method

3
推荐指数
2
解决办法
5272
查看次数

WooCommerce 中所有现有处理订单的自动完成状态

我在 WooCommerce 上使用这个来自这个答案的代码来自动完成付费处理订单:

/**
 * AUTO COMPLETE PAID ORDERS IN WOOCOMMERCE
 */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_paid_order', 10, 1 );
function custom_woocommerce_auto_complete_paid_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );

  // No updated status for orders delivered with Bank wire, Cash on delivery and Cheque payment methods.
  if ( ( get_post_meta($order->id, '_payment_method', true) == 'bacs' ) || ( get_post_meta($order->id, '_payment_method', true) == 'cod' ) || ( get_post_meta($order->id, '_payment_method', true) == 'cheque' ) …
Run Code Online (Sandbox Code Playgroud)

php wordpress orders woocommerce hook-woocommerce

3
推荐指数
1
解决办法
2443
查看次数

使用支票付款方式将订单状态更改为"处理"状态

我需要通过检查"处理"状态而不是"暂停"状态来进行WooCommerce推送付款.我尝试了下面的代码片段然而它似乎没有效果.

这是我的代码:

add_filter( 'woocommerce_payment_complete_order_status', 'sf_wc_autocomplete_paid_orders' );

function sf_wc_autocomplete_paid_orders( $order_status, $order_id ) {

$order = wc_get_order( $order_id );

if ($order->status == 'on-hold') {
    return 'processing';
}

return $order_status;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

谢谢.

php wordpress orders woocommerce payment-method

2
推荐指数
2
解决办法
1731
查看次数

Woocommerce 默认订单状态

我正在尝试对 Wordpress Woocommerce 进行编码,以便所有新订单都按订单状态标记为“完成”。该代码不起作用。我究竟做错了什么?

我将此添加到functions.php:

function autocomplete_orders() {
    add_action('woocommerce_thankyou', 'autocomplete_all_orders');
    /**
     * sp_autocomplete_all_orders 
     *
     * Register custom tabs Post Type
     *
     * @param   int $order_id
     *
     * @return  null
     */
    function autocomplete_all_orders($order_id) {
        global $woocommerce;

        if (!$order_id)
            return;
        $order = new WC_Order($order_id);
        $order->update_status('completed');
    }
}
Run Code Online (Sandbox Code Playgroud)

php wordpress woocommerce hook-woocommerce

0
推荐指数
1
解决办法
2278
查看次数