Si necesitas quitar del listado de productos de woocomerce los productos sin stock, utiliza este plugin.

También podrías usar el snipet que aparece justo abajo.

 

Descarga el plugin desde aqui: https://diseñowebensevilla.org/pluginspropios/nomostrarproductos0stock.zip

 

Si no quieres el plugin y quieres el snipet , aquí lo tienes.

add_action( 'pre_get_posts', 'ayudawp_ocultar_agotados' );

function ayudawp_ocultar_agotados( $q ) {

    if ( ! $q->is_main_query() || is_admin() ) {
        return;
    }

    if ( $outofstock_term = get_term_by( 'name', 'outofstock', 'product_visibility' ) ) {

        $tax_query = (array) $q->get('tax_query');

        $tax_query[] = array(
            'taxonomy' => 'product_visibility',
            'field' => 'term_taxonomy_id',
            'terms' => array( $outofstock_term->term_taxonomy_id ),
            'operator' => 'NOT IN'
        );

        $q->set( 'tax_query', $tax_query );

    }

    remove_action( 'pre_get_posts', 'ayudawp_ocultar_agotados' );

}