Skip to content
Advertisement

Get the count of newly published product (today) in WooCommerce [closed]

I have a WooCommerce site where products are considered as trade/deal. Therefore, when someone take a trade (buy a product), it become out of stock.

How to display the number of products that has been published today (the new ones)?

ex: 4 New Trades (products) Published Today

Advertisement

Answer

The custom function below will return with a SQL query the newly published products count (made in the 24 hours):

function get_new_products_count(){
    global $wpdb;
    
    // 24 hours ago
    $is_24h_ago = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s")." -1day"));

    // The SQL query
    $result = $wpdb->get_col( "
        SELECT COUNT(p.ID)
        FROM {$wpdb->prefix}posts as p
        WHERE p.post_type LIKE '%product%'
        AND p.post_status LIKE 'publish'
        AND p.post_date > '$is_24h_ago'
    " );

    return reset($result);
}

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

Tested and working


Usage example (in any php file):

$count = get_new_products_count();
$message = sprintf( __( '%s new trades have been published…' ), $count );
echo '<div class="woocommerce-message">'.$message.'</div>';

will display something like:

enter image description here

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement