Woocommerce Показать данные о продажах продуктов за сегодня - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу отображать данные о продажах за сегодня только во всплывающем окне на каждой отдельной странице товара.

Например, "10 продано сегодня"

Я нашел этот пример кода - WooCommerce Показать общий объем продаж продукта после пользовательской даты во внешнем интерфейсе

Однако я не уверен, как его использовать, и получаю сообщение об ошибке при добавлении его в файл functions.php.

Uncaught ArgumentCountError: Too few arguments to function wh_get_total_sold_by_product_id(), 1 passed in /app/public/wp-includes/class-wp-hook.php on line 286

Вот оригинальный код

add_action( 'woocommerce_after_add_to_cart_form', 'wh_get_total_sold_by_product_id', 18 );

//woocommerce get total sale count of a product after a specific data
function wh_get_total_sold_by_product_id($date_from, $product_id)
{
global $wpdb;
$date_to = date('Y-m-d');

$sql = "
SELECT COUNT(*) AS sale_count
FROM {$wpdb->prefix}woocommerce_order_items AS order_items
INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS order_meta ON order_items.order_item_id = order_meta.order_item_id
INNER JOIN {$wpdb->posts} AS posts ON order_meta.meta_value = posts.ID
WHERE order_items.order_item_type = 'line_item'
AND order_meta.meta_key = '_product_id'
AND order_meta.meta_value = %d
AND order_items.order_id IN (
    SELECT posts.ID AS post_id
    FROM {$wpdb->posts} AS posts
    WHERE posts.post_type = 'shop_order'
        AND posts.post_status IN ('wc-completed','wc-processing')
        AND DATE(posts.post_date) BETWEEN %s AND %s
)
GROUP BY order_meta.meta_value";

return $wpdb->get_var($wpdb->prepare($sql, $product_id, $date_from, $date_to));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...