标签: orders

Shopify API:按日期获取 Shopify 中的订单

为什么按日期和限制从 Shopify 商店获取订单总是返回最新日期的订单?例如:如果我使用以下查询进行查询以获取 2012 年 8 月 1 日起的 5 个订单: /admin/orders.json?status=open&created_at_min=2012-08-01 12:00&limit=5

因为我在 2012 年 8 月 20 日有 5 个订单,在 2012 年 8 月 31 日有 5 个订单,但这将返回最新日期(2012 年 8 月 31 日)的 5 个订单。

get date shopify orders

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

如何在订单接收页面和电子邮件订单中显示带有产品标题的 SKU

在functions.php中

add_action( 'woocommerce_add_order_item_meta', 'custom_add_item_sku', 10, 3 );
function custom_add_item_sku( $item_id, $values, $cart_item_key ) {

 $item_sku = get_post_meta( $values[ 'product_id' ], '_sku', true );

 wc_add_order_item_meta( $item_id, 'SKU', $item_sku , false );

}
Run Code Online (Sandbox Code Playgroud)

但它在产品标题下方显示 SKU 值,但我想要这样

SKU:123sd - 产品名称

php wordpress product orders woocommerce

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

在 Woocommerce 订单详细信息中显示父分组产品名称

对于 Woocommerce 分组产品,我使用以下代码在购物车和结帐页面中显示父产品名称:

// Adding the grouped product ID custom hidden field data in Cart object
add_action( 'woocommerce_add_cart_item_data', 'save_custom_fields_data_to_cart', 10, 2 );
function save_custom_fields_data_to_cart( $cart_item_data, $product_id ) {

if( ! empty( $_REQUEST['add-to-cart'] ) && $product_id != $_REQUEST['add-to-cart'] ) {
    $cart_item_data['custom_data']['grouped_product_id'] = $_REQUEST['add-to-cart'];
    $data['grouped_product_id'] = $_REQUEST['add-to-cart'];

    // below statement make sure every add to cart action as unique line item
    $cart_item_data['custom_data']['unique_key'] = md5( microtime().rand() );
    WC()->session->set( 'custom_data', $data );
}
return $cart_item_data;
}


// Add the parent grouped product name to …
Run Code Online (Sandbox Code Playgroud)

php wordpress product orders woocommerce

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

删除 Woocommerce 订单编辑页面中的下载元框

我正在尝试从“shop_order”上下文中删除管理菜单中的“woocommerce-order-downloads”div。我得到了一个很好的答案来识别上下文,并且能够使用以下代码删除“postcustom”div。请注意,我正在尝试通过添加一行来删除“woocommerce-order-downloads”来完成完全相同的操作。那块不工作。我尝试过“订单下载”、“下载”等。我还转到“设置”-->“帐户”--> 空白“下载”路线。这看起来很奇怪,但我相对较新。有什么想法如何删除这个讨厌的 div 吗?我还尝试删除 order_label div...如您所见:)

function remove_custom_field_meta_box()
{
    remove_meta_box('postcustom', 'shop_order', 'normal', 90);
    remove_meta_box('woocommerce-order-downloads', 'shop_order', 'normal', 90);
    //remove_meta_box('woocommerce-order-label', 'shop_order', 'normal');
}


//Remove postcustom/downloads/shippinglabel meta boxes
add_action('admin_menu', 'remove_custom_field_meta_box');
Run Code Online (Sandbox Code Playgroud)

php wordpress custom-post-type orders woocommerce

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

从 WooCommerce 3 中的电子邮件模板获取产品 ID

在 Woocommerce 中,我试图找出如何获取客户完成订单电子邮件模板中已完成订单的产品 ID ,并将其存储为 PHP 变量。这样我就可以将其插入到外部数据库中。

我已经尝试过了,$product->get_id();但它不起作用。

如何从电子邮件模板获取 WooCommerce 3+ 中的产品 ID?

php wordpress orders email-notifications woocommerce

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

使用 Woocommerce 3 中的 GET 方法将来自 url 的自定义数据添加到购物车

在 Woocommerce 中,我使用以下 URL 的 GET 方法将产品添加到购物车:

http://example.com/cart/?add-to-cart=10
Run Code Online (Sandbox Code Playgroud)

现在我希望能够同时添加一些自定义数据作为产品注释,例如:

 http://example.com/cart/?add-to-cart=10&note=hinote
Run Code Online (Sandbox Code Playgroud)

然后将该“hinote”值保存为购物车商品数据。下订单后,我想将“hinote”保存在订单项数据中,并将其显示为自定义订单项数据。

那可能吗?

任何帮助表示赞赏。

php wordpress cart orders woocommerce

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

自动为 Woocommerce 上购买的产品设置特定属性术语值

我想在下订单并处于“暂停”状态时自动向订购的产品添加特定的属性值(之前设置)。

我销售独特的产品,并且我设置了“STOCK”属性和“Out Of Stock”(缺货)值。

当下订单并处于“暂停”状态时,我想自动更改订购产品的特色状态,并向其添加缺货属性值。

特色部分已完成并有效,但我不知道如何向产品添加特定的属性值。

这是我的代码:

add_action('woocommerce_order_status_on-hold', 'order_status_on_hold_update_products', 20, 2);

function order_status_on_hold_update_products( $order_id, $order ) {
  foreach ( $order->get_items() as $item_id => $item ) {
    $product = $item->get_product();
    $product->set_featured(true);
    $product->set_attributes(???); // I don't know if and how set_attributes() should be used
    $product->save();
}
Run Code Online (Sandbox Code Playgroud)

php wordpress product orders woocommerce

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

将自定义帐单数据添加到 Woocommerce 管理订单中的帐单格式地址

使用 Woocommerce,我希望使用woocommerce_localisation_address_formats钩子在管理订单编辑页面中查看用户元数据。

基于管理仪表板上的 Woocommerce 编辑订单答案代码,我对其进行了轻微更改,如下所示:

add_filter( 'woocommerce_localisation_address_formats', 'admin_localisation_address_formats', 50, 1 );
function admin_localisation_address_formats( $address_formats ){
    if( is_admin() ){
        $address_formats = array();

        $countries = array('default', 'AU', 'AT', 'BE', 'CA', 'CH', 'CL', 'CN', 'CZ',
        'DE', 'EE', 'FI', 'DK', 'FR', 'HK', 'HU', 'IN', 'IS', 'IT', 'JP', 'TW', 'LI',
        'NL', 'NZ', 'NO', 'PL', 'PT', 'SK', 'SI', 'ES', 'SE', 'TR', 'US', 'VN' );

        foreach( $countries as $country_code ) {
            $address_formats[$country_code] = "{company}\n{name}\n{address_1} {address_2} {postcode}\n{city} {state}\n{country}\n{billing_nombrecontacto}";
        }
    }
    return $address_formats; …
Run Code Online (Sandbox Code Playgroud)

php wordpress checkout orders woocommerce

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

有条件地从 WooCommerce 我的帐户订单中删除取消按钮

当“付款方式标题”为“Npay”时,我想确保取消按钮在 my-account> my-order 中不可见。

“Npay”是一个外部支付网关,不适用于商业。因此,取消付款只能在外部完成。

add_filter('woocommerce_my_account_my_orders_actions', 'remove_my_cancel_button', 10, 2);
function remove_my_cancel_button($actions, $order){
    if ( $payment_method->has_title( 'Npay' ) ) {
        unset($actions['cancel']);
        return $actions;
    }
}
Run Code Online (Sandbox Code Playgroud)

php wordpress payment-gateway orders woocommerce

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

WooCommerce 可编辑的自定义结帐字段并以格式化的地址显示

我正在向 woocommerce 结帐页面添加强制送货电话

add_filter( 'woocommerce_checkout_fields', 'add_shipping_phone_to_checkout_page' );

function add_shipping_phone_to_checkout_page( $fields ) {
   $fields['shipping']['shipping_phone'] = array(
      'label' => 'Phone',
      'required' => true,
      'class' => array( 'form-row-wide' ),
      'priority' => 25,
   );
   return $fields;
}
Run Code Online (Sandbox Code Playgroud)

然后在管理订单面板中显示它

add_action( 'woocommerce_admin_order_data_after_shipping_address', 'shipping_phone_checkout_display_in_order_panel' );

function shipping_phone_checkout_display_in_order_panel( $order ){
    echo '<p><b>Phone :</b> ' . get_post_meta( $order->get_id(), '_shipping_phone', true ) . '</p>';
}

Run Code Online (Sandbox Code Playgroud)

最后打印在电子邮件中

add_action('woocommerce_email_customer_details','shipping_phone_display_in_order_email', 25, 4 );

function shipping_phone_display_in_order_email( $order, $sent_to_admin, $plain_text, $email ) {

    $output = '';
    $shipping_phone = get_post_meta( $order->id, '_shipping_phone', true );

    if ( …
Run Code Online (Sandbox Code Playgroud)

php wordpress checkout orders woocommerce

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