• Resolved acidburnsmk

    (@acidburnsmk)


    I’m trying to add a product archive widget in Elementor but in this widget specifically must hide “Out of stock” products.

    I try to use the following code`s but I have not succeeded, because they doesn’t work if Elementor widget is AJAX.

    If the widget is not AJAX, then it`s fine (they are working).

    How to modify this code`s to work with AJAX?

    1). With a meta query:

    add_filter( 'woocommerce_products_widget_query_args', 'custom_products_widget_query_arg', 10, 1 );
    function custom_products_widget_query_arg( $query_args ) {
        if( ! is_admin() ) {
            $query_args['meta_query'][] = array(
                'key'     => '_stock_status',
                'value'   => 'outofstock',
                'compare' => '!='
            );
        }
        return $query_args;
    }

    2). Or with a tax query:

    add_filter( 'woocommerce_products_widget_query_args', 'custom_products_widget_query_arg', 10, 1 );
    function custom_products_widget_query_arg( $query_args ) {
        if( ! is_admin() ) {
            $query_args['tax_query'][] = array(
                'taxonomy' => 'product_visibility',
                'field'    => 'name',
                'terms'    => array('outofstock'),
                'operator' => 'NOT IN'
            );
        }
        return $query_args;
    }

    I found this codes from another stack question: Answered by @LoicTheAztec

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
  • The topic ‘Hide out of stock WooCommerce products only on a AJAX widget with Elementor’ is closed to new replies.