Функция woocommerce set_total_sales () не устанавливает и не сохраняет total_sales в базу данных - PullRequest
1 голос
/ 23 февраля 2020

Я работаю над детской темой в WooCommerce. В функции я пытаюсь использовать значения по умолчанию get_total_sales() и set_total_sales() для добавления общих продаж и сохранения при вызове из AJAX (при нажатии кнопки для загрузки).

function download_count_callback(){

    //get product id from AJAX POST
    $productid = $_POST['productid'];

    //get product by id
    $product = wc_get_product( $productid );

    //get the total sales number
    $downloadcount = $product->get_total_sales();
    error_log ("NUMBER was : ".$downloadcount );

    //add 1 to total sales
    $downloadcount += 1;
    error_log ("NUMBER should become : ".$downloadcount );

    //get the renewed total sales number
    $product->set_total_sales($downloadcount);
    error_log ("NUMBER NOW : ".$product->get_total_sales());

    wp_die();
}

Вот как выглядит журнал сервера:

[23-Feb-2020 12:44:44 UTC] NUMBER was : 0
[23-Feb-2020 12:44:44 UTC] NUMBER should become : 1
[23-Feb-2020 12:44:44 UTC] NUMBER NOW : 1

Выглядит нормально, но нет ... Количество загрузок не было сохранено в базе данных. Когда я обновлю sh страницу,

get_total_sales() вернется к 0.

Что здесь может быть не так?

1 Ответ

0 голосов
/ 23 февраля 2020

это имеет значение?

function download_count_callback(){

    //get product id from AJAX POST
    $productid = $_POST['productid'];

    //get product by id
    $product = wc_get_product( $productid );

    //get the total sales number
    $downloadcount = $product->get_total_sales();
    error_log ("NUMBER was : ".$downloadcount );

    //add 1 to total sales
    $downloadcount += 1;
    error_log ("NUMBER should become : ".$downloadcount );

    //get the renewed total sales number
    $product->set_total_sales($downloadcount);

    $product->save();
    error_log ("NUMBER NOW : ".$product->get_total_sales());

    wp_die();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...