改变现有定期付款的woocommerce订阅费率

时间:2016-01-29 13:46:33

标签: woocommerce recurring subscriptions

我们已经提高了我们订阅的价格,但到目前为止的续订都以旧的速度进行,尽管新用户处于新的速度。

有没有办法让价格上涨反映在现有订户的定期付款中。

谢谢

2 个答案:

答案 0 :(得分:2)

我发现这样做的方法是修改woocommerce数据库。

有三个值需要更改

1)在'wp_woocommerce_order_itemmeta'表格中'_line_total'值

2)在'wp_woocommerce_order_itemmeta'表中'_line_subtotal'值       这是基于商品ID,在“wp_woocommerce_order_items”表中按订单号查找

3)在'wp_postmeta表'中,'_ order_total'值      这基于订单号,如订阅列表

中所示

执行此操作的一些代码:

$query = "SELECT order_item_id FROM wp_woocommerce_order_items where order_id=$orderno";
if ($result = $mysqli->query($query))
{
    while ($row = $result->fetch_object())
    {
        $itemid = $row->order_item_id;
        $itemquery = "SELECT meta_value FROM wp_woocommerce_order_itemmeta where order_item_id=$itemid and meta_key='_variation_id'";
        if ($itemresult = $mysqli->query($itemquery))
        {
            $variationid = $itemresult->fetch_object()->meta_value;
           .... verify that have the right product.....
        }

        $sql = "UPDATE wp_woocommerce_order_itemmeta SET meta_value='$newamount' where order_item_id=$itemid and meta_key='_line_total'";
        $modresult = $mysqli->query($sql);

        $sql = "UPDATE wp_woocommerce_order_itemmeta SET meta_value='$newamount' where order_item_id=$itemid and meta_key='_line_subtotal'";
        $modresult = $mysqli->query($sql);
    }
}


$sql = "UPDATE wp_postmeta SET meta_value='$newamount' where post_id=$orderno and meta_key='_order_total'";
printf("SQL: $sql\n", FILE_APPEND);
$modresult = $mysqli->query($sql);
printf("Update order total result:" . print_r($modresult, true)."\n");

答案 1 :(得分:0)

您需要同步续订,否则他们将获得旧费率

默认情况下,“续订同步”功能处于关闭状态。要启用续订同步:

转到: WooCommerce &gt; 设置&gt; <强>订阅

点击同步续订复选框

点击保存更改按钮

阅读更多Here