标签: orders

在Woocommerce中每页自定义我的帐户订单列表

Woocommerce 2.6.x在用户帐户(我的帐户)区域有一个特殊页面,用于显示用户以前的订单.

此页面现在已分页,并显示为默认的15个项目/页面.

这里是8行的woocommerce店面主题订单区域的屏幕截图: 在此输入图像描述

我无法找到改变它的方法.

如何只显示7个项目而不是默认数字?

谢谢.

php wordpress user-accounts orders woocommerce

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

在特定时间过后自动更改 WooCommerce 订单状态?

有没有办法让 WooCommerce 在经过这么多时间后自动将自定义订单状态更改为不同的自定义订单状态?

基本上,我希望所有更改为订单状态“退款已提交”的订单在 30 天后自动更改为“退款已过期”。

我意识到这些不是正常的 WooCommerce 订单状态,我创建了自定义状态。因此,如果我不那么具体,可能更容易理解我想要什么......

我只是希望能够让更改为特定状态的订单在这么多天后自动更改为不同的状态。

我查看了整个互联网,并没有找到任何可以帮助我实现这一目标的东西。任何帮助将不胜感激。

wordpress status orders woocommerce

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

WooCommerce 管理员订单编辑保存帖子

在 WooCommerce 中,当我提交时,如何捕获在订单编辑管理页面中添加的自定义选择字段?

我在文件中添加了这个自定义选择字段class-wc-meta-box-order-data.php。我明白了:

在此处输入图片说明

但我不知道如何捕捉或拯救 $_POST['vendor']

我尝试添加$_POST['vendor']wp-admin/post.php但它不起作用

这是我添加的代码:

    <select class="wc-customer-search" id="customer_user" name="customer_user" data-placeholder="<?php esc_attr_e( 'Guest', 'woocommerce' ); ?>" data-allow_clear="true">
                                <option value="<?php echo esc_attr( $user_id ); ?>" selected="selected"><?php echo htmlspecialchars( $user_string ); ?></option>
                            </select>
                            <!--/email_off-->
                        </p>
                   <p> <label for="order_status">???? </label>
                    <select name="vendor">
  <?php 
           global $wpdb;
   $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
    for($i=1;$i<=$user_count;$i++){
    $user_info = get_userdata($i);

    if (implode(', ', $user_info->roles)=='vendor')
echo "<option value=".$user_info->user_login.">$user_info->user_login</option>";
    }
                    ?>
</select></p> 
Run Code Online (Sandbox Code Playgroud)

如何获取提交的值以及如何保存它?

php wordpress custom-fields orders woocommerce

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

重新排列 WooCommerce 电子邮件通知中的订单详细信息总数

我正在 WooCommerce 中自定义订单电子邮件模板,并且需要在订单详细信息中将“发货”排在倒数第二,就在“总计”上方。

在此处输入图片说明

我知道这个循环在 woocommerce>templates>emails 的“email-order-details.php”页面的第 52 行,所以在我的孩子主题中设置它,但我不确定从那里去哪里。这是我正在尝试的:

if ( $totals = $order->get_order_item_totals() ) {
                $i = 0;
                foreach ( $totals as $total ) {
                    $i++;
                    if($total['label'] === "Shipping"){
                        //make second-last above total somehow
                    }
                    else{
                        ?><tr>
                        <th class="td" scope="row" colspan="3" style="text-align:<?php echo $text_align; ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo $total['label']; ?></th>
                        <td class="td" style="text-align:left; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>" colspan="1"><?php echo $total['value']; …
Run Code Online (Sandbox Code Playgroud)

php wordpress orders email-notifications woocommerce

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

将具有自定义价格的产品添加到在 WooCommerce 中以编程方式创建的订单

我正在尝试添加一个$order = wc_create_order();由用户定义的产品价格。一个特定的产品被添加到订单中,它已经有一个默认价格,需要被用户输入的值覆盖。

我尝试使用woocommerce_before_calculate_totals函数但没有运气。我认为它不起作用,因为产品直接添加到订单中而没有添加到购物车中。

我也试过使用set_total( $value, $deprecated = '' ),比如

$order = wc_create_order();
$order->set_total($amount); //where the $amount is my custom price.
Run Code Online (Sandbox Code Playgroud)

但订单价值不会改变。有没有其他方法可以实现相同的目标?

php wordpress product orders woocommerce

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

使用 SQL 查询获取所有 WooCommerce 客户支付的订单

我需要一个查询来返回所有订单已批准付款的用户。

我很难找到它在数据库中的存储位置。我只发现 post_status 'wc-complete',但我认为这不是正确的信息。

   SELECT a.post_status, b.meta_value FROM wp_posts a, wp_postmeta b
   WHERE a.ID = b.post_id 
   AND a.post_type = 'shop_order' 
   AND a.post_status = 'wc-completed'
Run Code Online (Sandbox Code Playgroud)

php sql wordpress orders woocommerce

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

检查 Woocommerce 中是否已选中“运送到不同地址”

在 WwooCommerce 中,我试图将船舶添加到我的管理电子邮件中的不同地址信息。

如何检查是否选中了从结帐页面运送到不同地址的复选框?

我尝试使用:

$ship_to_different_address = get_option( 'woocommerce_ship_to_destination' ) === 'shipping' ? 1 : 0;

if($ship_to_different_address == 1):
 //the additional email text here
endif;
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。有任何想法吗?

php wordpress orders email-notifications woocommerce

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

仅针对 Woocommerce 中的特定订单状态和付款方式减少库存

我正在为客户开发一些自定义 Woocommerce 功能。他们使用 BACS 支付网关来处理人工支付。

然而,网关目前为我们的需要过早地减少库存,即当订单为“暂停”时。我只想在订单标记为“处理中”或“完成”时减少库存(避免重复减少)。

我已经设法通过以下代码段防止库存在“暂停”期间自行减少:

function wcs_do_not_reduce_onhold_stock( $reduce_stock, $order ) {
if ( $order->has_status( 'on-hold' ) ) {
$reduce_stock = false;
}
return $reduce_stock;
}
add_filter( 'woocommerce_can_reduce_order_stock', 'wcs_do_not_reduce_onhold_stock', 10, 2 );
Run Code Online (Sandbox Code Playgroud)

我不太确定如何继续。虽然上述代码有效,但添加以下条件无效:

else if ( $order->has_status( 'processing' ) || $order->has_status( 'completed' ) ) {
$reduce_stock = true;
}
Run Code Online (Sandbox Code Playgroud)

简而言之,我希望库存根据以下库存状态发生变化:

  • 暂停 - 什么都不做
  • 已完成或正在处理 - 减少库存(仅一次)
  • 取消 - 增加库存(仅当最初减少时)

任何帮助深表感谢!

php wordpress stock orders woocommerce

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

Woocommerce 3.3 管理订单列表中的自定义订单状态背景按钮颜色

在新的 woo 订单屏幕中,旧的颜色状态图标现在消失了,取而代之的是带有彩色背景的大状态按钮。

正在处理为绿色,已完成为蓝色,已取消为灰色等。

我在 woocommerce 订单中有一个自定义订单状态,称为:进行中。自定义订单状态似乎也只是默认的灰色背景。我想为我的自定义订单状态分配一个颜色背景。我试图找到一个代码片段来做到这一点,但没有运气。

css php wordpress orders woocommerce

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

获取 Woocommerce 3 中的订单总运费

我正在尝试获取 WooCommerce 订单的运输方式或运输成本 - 我正在编写一个自定义电子邮件模板,该模板因免费送货与付费送货而异。

我找到了一个名为 的函数get_total_shipping(),但现在已弃用,我找不到替代品 - 是否存在?

我注意到运费存储在_order_shipping我可以访问的隐藏元字段 ( ) 中,但我担心这可能会在未来的 WooCommerce 更新中中断。

php methods wordpress orders woocommerce

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