标签: orders

在 Woocommerce 中手动发送新订单电子邮件

我想以编程方式发送一封新订单电子邮件,因此它看起来与标准 Woo Commerce 电子邮件模板相同。

\n\n

我正在使用 WC_Email_New_Order 类,因此我可以在根据订单对象构造电子邮件之前对其进行调整。

\n\n

在一些测试代码中,我现在将其触发 wp_head 挂钩,仅用于测试目的。

\n\n
add_action('wp_head', function() {\n    include('wp-content/plugins/woocommerce/includes/emails/class-wc-email.php');\n    include('wp-content/plugins/woocommerce/includes/emails/class-wc-email-new-order.php');\n\n    $adminEmail = new WC_Email_New_Order();\n\n    $id = 1564; // order\n    $order = new WC_Order($id);\n\n    $adminEmail->trigger( null, $order );\n\n}); \n
Run Code Online (Sandbox Code Playgroud)\n\n

这部分有效...我收到了主题行正确的电子邮件,但是电子邮件正文只是说...

\n\n
You\xe2\x80\x99ve received the following order from Dave Peterson:\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何触发电子邮件模板的其余部分?

\n

php wordpress orders email-notifications woocommerce

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

更改 Woocommerce 我的帐户订单表中的视图按钮文本

我想自定义“我的帐户”>“订单”页面,将订单列表中的操作列、“查看”按钮文本更改为“查看票证”。

是否只能在“我的帐户”>“订单”页面上进行?

这是用于澄清的屏幕截图:

在此输入图像描述

php account wordpress orders woocommerce

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

将 WooCommerce 订单项自定义字段总和保存为新元数据

当在此 WooCommerce 商店中订购特定产品时,两个元值将添加到订单中。

存储元值的两个字段位于wp_woocommerce_order_itemmeta

元键是:

quantity
assemblycost
Run Code Online (Sandbox Code Playgroud)

我想在下新订单时以编程方式创建一个新的自定义字段,并将该新字段的值设置为等于quanity * assemblycost已订购产品的元键组装成本。

经过一些研究,我发现这woocommerce_checkout_update_order_meta是一个在订单保存到数据库并且元数据已更新后执行的钩子。所以这似乎是我应该使用的钩子。

参考: 为 Woocommerce 中的订单添加额外元

 function add_item_meta( $order_id ) {
            //global $woocommerce;
            update_post_meta( $order_id, '_has_event', 'yes' );
        } 
Run Code Online (Sandbox Code Playgroud)

我尝试在functions.php中添加以下代码:

 add_action('woocommerce_checkout_update_order_meta',function( $order_id, $posted ) {  
    $assemblycost = wc_get_order_item_meta($order_id, 'assemblycost');
    $quantity = wc_get_order_item_meta($order_id, 'quantity');
    $calculatedValue = $quantity * $assemblycost;
    wc_update_order_item_meta( $order_id, 'calculated_field', $calculatedValue );  
} , 10, 2);
Run Code Online (Sandbox Code Playgroud)

这确实创建了新的元字段,但它将该值设置为 0。

在此输入图像描述

如何更改上面的代码,以便计算字段的值是 的乘积quantity * assemblycost

php wordpress orders woocommerce hook-woocommerce

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

如何在 WooCommerce 中编辑“woocommerce_thankyou”挂钩的输出?

我确信这个问题已经被问过很多次了。我什至得到了很少的答案,但我真的不知道如何在 Wordpress + WooCommerce 中编辑任何“操作”或“过滤器”挂钩。

以结账页面为例,底部通常是购物车的摘要,该信息是由以下代码生成的:

<?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方式在其他文件中搜索“woocommerce_thankyou”,但我找不到任何内容。那么,输出代码是如何生成的呢?必须有一个文件来调用它。

php wordpress orders woocommerce hook-woocommerce

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

如何在 WooCommerce 中获取订单税务详细信息和税率?

我正在尝试从订单中获取插件中自定义变量的税率。当然,我可以通过 请求大量数据$order-> get_ ...,但我找不到获取税率的方法(例如“21”-> 21%)。

有人有想法让这变得简单吗?

php wordpress orders woocommerce tax

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

在 WooCommerce 3+ 中向订单添加自定义字段

在 WooCommerce 中,我想添加一个新的自定义字段来订单详细信息。现在我可以使用下面的代码创建一个新的自定义字段“referenceNumber”并在其中添加“ordercreated”值:

update_post_meta($order_id, 'referenceNumber', 'ordercreated']);
Run Code Online (Sandbox Code Playgroud)

我想要的是在下订单后通过结帐来进行。

但它不起作用,它不会向订单详细信息页面添加新的自定义字段,也不会添加值“ordercreated”,正如您在此屏幕截图中看到的:

截屏

那么问题是在 WooCommerce 下订单时如何添加自定义字段?

php wordpress custom-fields orders woocommerce

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

WooCommerce:按产品属性术语过滤管理订单

我有一家商店,里面有很多不同的产品。所有订单都是专门为客户定制的。这意味着当我们在仓库收到产品时,我们需要找到特定产品的订单。现在我们只需手动检查大多数订单即可。

我们想要做的事情是通过自定义属性术语搜索订单,这将为我们节省宝贵的时间。例如:我们对定制订单使用属性“尺寸”。我们有24个“尺寸”术语(例如“12cm”,:16cm”等)。我们想根据尺寸术语查找订单。例如:查找所有尺寸为“48cm”的订单。

基于按 id 或 sku 在后端订单列表中扩展产品项目的搜索,这是我的代码尝试:

add_filter( 'woocommerce_shop_order_search_fields', function ($search_fields ) {
    $orders = get_posts( array( 'post_type' => 'shop_order' ) );

    foreach ($orders as $order_post) {
        $order_id = $order_post->ID;
        $order = new WC_Order($order_id);
        $items = $order->get_items();
    
        foreach( $order->get_items() as $item_id => $item_values ) {
            if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
                $product_id = $item_values['product_id'];
            } else {
                $product_id = $item_values->get_product_id();
            }
             $attribute = $item_values->get_data();
             
            // attribute value
            $value = $attribute['value'];
            
            // attribute slug
            $slug = …
Run Code Online (Sandbox Code Playgroud)

php wordpress orders woocommerce taxonomy-terms

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

在 WooCommerce“我的帐户”仪表板上显示最新订单

我正在尝试在 WooCommerce 仪表板上向客户显示最后 3 个订单。但get_template()根本不起作用并且什么也不显示。

我还尝试将orders.php表单放入dashboard.php模板文件中,但这里没有显示任何订单,而我已经有一些活动订单。我很困惑,不知道这个问题。

这是我的仪表板代码:

<?php get_header();?>

<?php

 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 4.4.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
}

$allowed_html = array(
    'a' => array(
        'href' => array(),
    ),
);
?>

<p>
    <!-- <?php
    printf(
        /* translators: 1: user display name 2: logout url */
        wp_kses( __( 'Hello %1$s (not %1$s? <a href="%2$s">Log out</a>)', 'woocommerce' ), $allowed_html ), …
Run Code Online (Sandbox Code Playgroud)

php wordpress orders woocommerce hook-woocommerce

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

没有从Prestashop 1.6.1.1网站收到管理员订单确认电子邮件

成功付款后,我没有收到管理员订单确认电子邮件.我从sisow收到付款通知,但不是从网站收到.客户收到确认电子邮件但不是管理员.我是prestashop的新手,没有找到任何解决方案.

请建议我让它工作.

email admin prestashop orders

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

从产品ID中获取所有订单ID

如何通过产品ID获取包含订单ID的阵列?

我的意思是接收所有特定产品的订单.

我知道如何通过MySQL做到这一点,但有没有办法通过WP_Query函数来做到这一点?

php wordpress product orders woocommerce

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