标签: orders

如何获取WooCommerce订单详情

如何通过订单ID获取WooCommerce订单详细信息.我试过这个,但对我不起作用.

$order = new WC_Order( $order_id );
Run Code Online (Sandbox Code Playgroud)

php wordpress product orders woocommerce

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

WooCommerce:自动完成付款订单(取决于付款方式)

通常,wooCommerce应该自动完成虚拟产品的订单.但它没有,这是一个真正的问题,甚至像BUG一样.

所以在这一点上你可以找到有用的东西(但不是很方便):

1)一个代码片段(你可以在wooCommerce docs中找到):

/**
 * Auto Complete all WooCommerce orders.
 */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order');
function custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}
Run Code Online (Sandbox Code Playgroud)

但此代码段不适用于BACS*,付款时付款和支票付款方式.它适用于Paypal和信用卡网关支付方式.

*BACS 是直接银行转账付款方式

而......

2)插件: WooCommerce自动完成订单

此插件适用于所有付款方式,但不适用于其他信用卡网关付款方式.

我的问题:

在第1点中使用(作为基础)wooCommerce代码段:

如何实现基于woocommerce支付方式的条件代码?

我的意思是:如果付款方式不是"BACS","付款时付款"和"支票",则应用代码段(对于虚拟产品的付款订单,更新状态为"已完成").

我不是一个wooCommerce巨型专家编码器,所以我还没有找到如何在woocommerce订单中定位付款方式.

一些帮助将是非常好的.

谢谢.

php wordpress payment-gateway orders woocommerce

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

以编程方式使用line_item创建Wo​​ocommerce订单

我需要以编程方式创建一个Woocommerce订单,但是使用'旧'Woocommerce使这个程序非常脏.

我必须使用许多update_post_meta调用手动插入所有类型的数据库记录.

寻找更好的解决方案.

php wordpress orders woocommerce

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

在Woocommerce中为订单添加额外的元数据

我正在为我的网站创建一个自定义插件.

在这个插件的某些部分,我需要wp_postmeta为每个订单存储额外的元数据.

我在我的插件类中添加了这个:

`add_action ('woocommerce_before_checkout_process', array( &$this, 'add_item_meta', 10, 2) );`
Run Code Online (Sandbox Code Playgroud)

这是add_item_meta()功能:

    function add_item_meta( $item_id, $values ) {
            wc_add_order_item_meta($item_id, '_has_event', 'yes' );
        }
Run Code Online (Sandbox Code Playgroud)

此功能不完整,但此代码没有任何反应; 我想我需要使用另一个钩子,但我找不到合适的钩子.

有人对这个有了解吗?

我还有另一个问题$item_id:这是woocommerce全局变量,但我在我的插件中看不到它!

我的意思是我无法从我的插件或类似的东西访问此变量!

php wordpress metadata orders woocommerce

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

Woocommerce - 获取订单商品的价格和数量.

使用Woocommerce 2.6.8,我无法获得文档中描述的订单项数据信息,这里也是SO.

我想要的只是得到行项目价格和数量,这应该是这样简单:

$order = new WC_Order( $order_id );
$order_items = $order->get_items();
 foreach ($order_items as $items_key => $items_value) {  
           echo $items_value['name']; //this works
           echo $items_value['qty']; //this doesn't work
           echo $items_value[item_meta][_qty][0]; //also doesn't work
           echo $items_value['line_total']; //this doesn't work
   }
Run Code Online (Sandbox Code Playgroud)

仔细观察返回的内容

Array
(
[1] => Array
    (
        [name] => Sample Product 1
        [type] => line_item
        [item_meta] => 
        [item_meta_array] => Array
            (
                [1] => stdClass Object
                    (
                        [key] => _qty
                        [value] => 1
                    )

                [2] => stdClass Object …
Run Code Online (Sandbox Code Playgroud)

php wordpress items orders woocommerce

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

在Woocommerce 3中获取订单商品和WC_Order_Item_Product

好了,阅读Woocommerce 3.0+的变化,似乎你不能再直接访问这个类了,所以我认为这个代码需要改变,因为它正在吐出一个错误:

$order_item_id = 15;
$order_item = new WC_Order_Item_Product($order_item_id);
$return = $order_item->get_id() ? $order_item : false;
Run Code Online (Sandbox Code Playgroud)

但是,令人尴尬的是,我不确定如何更改此代码以在此类的最新版本中使用正确的新getter和setter函数,该类不再具有构造.怎么做得好?我没有看到任何get关于获得订单项的功能与上述相同.
https://docs.woocommerce.com/wc-apidocs/class-WC_Order_Item_Product.html

也许我在这里忽视一些事情?

php wordpress product orders woocommerce

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

如何获得Magento的付款信息?

我必须将订单导出到一个文件,这是我的代码来完成订单:

    $orders = Mage::getModel('sales/order')->getCollection()
    ->addAttributeToSelect(array('status', 'ncm'))
    ->addFieldToFilter(
        array(
            array('attribute' => 'status', 'eq' => 'complete')
        )
    );

    $order = $orders->getFirstItem();

    //print_r($order);
    //exit;
    //foreach($orders as $order){
    $id = $order->getIncrementId();

    $payment = $order->getPayment();
    $method = $payment->getMethodInstance();

    print_r($payment);
    //}
Run Code Online (Sandbox Code Playgroud)

我需要打印一些关于付款的信息,比如方法,金额,拆分的几个月,如果是信用卡,我需要交易的重新标识ID,所以列表继续

我怎样才能做到这一点?

php payment magento orders

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

如何从Magento2中删除测试订单

请解释我在Magento2网站上删除测试订单的正确方法.我从'sales_order'表中删除了所有记录,但后端仍然存在订单.

magento orders magento2

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

Woocommerce:以编程方式更新订单状态

当我尝试以编程方式更新WP_Ajax挂钩期间的订单时.IE浏览器.

$order = wc_create_order($order_data);
$order->add_product( get_product( $membership_product_ids[0] ), 1 );
$order->set_address( $address, 'billing' );
$order->set_address( $address, 'shipping' );
$order_id = $order->id;
$order->update_status('completed');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

警告:DOMXPath :: query():第299行/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中的表达式无效

警告:DOMXPath :: query():第299行/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中的表达式无效

警告:在第302行的/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中为foreach()提供的参数无效

警告:DOMXPath :: query():第299行/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中的表达式无效

警告:DOMXPath :: query():第299行/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中的表达式无效

警告:在第302行的/wp-content/plugins/woocommerce/includes/libraries/class-emogrifier.php中为foreach()提供的参数无效

如果我删除该update_status功能,它不会出错.

php wordpress plugins orders woocommerce

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

在WooCommerce后端的管理订单列表中添加列

我正在为我的一个电子商务Wordpress网站使用WooCommerce插件.我想在woocommerce管理区域的我的订单列表页面添加一些列.我无法找到添加它的位置.

任何人都可以建议我需要修改哪个模板页面以满足我的要求吗?

php wordpress backend orders woocommerce

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