Home Forums WoodMart support forum Show out of stock products at the end

Show out of stock products at the end

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #503974

    tecnotyresorihuela
    Participant

    Hello,

    Do you have any code or option in the theme so that the out of stock products appear at the end after the products that are in stock, so that they do not appear mixed.

    Thank you

    #504033

    Hello,

    Add the below code to the functions.php file into the Child theme

    add_filter('posts_clauses', 'order_by_stock_status');
    function order_by_stock_status($posts_clauses) {
        global $wpdb;
        // only change query on WooCommerce loops
        if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy())) {
            $posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
            $posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
            $posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value <> '' " . $posts_clauses['where'];
        }
        return $posts_clauses;
    }

    Best Regards.

Viewing 2 posts - 1 through 2 (of 2 total)