Я использую шорткоды WooCommerce для отображения товаров в статьях или на отдельных страницах, но думаю вы согласитесь, что выводить товары которых нет в наличии просто неразумно.
Вставьте следующий код в файл function.php и ваши шорткоды WooCommerce больше не будут отображать отсутствующий товар.
//WooCommerce 3.4.5 //Скрываем в шорткодах отсутствующие товары add_filter( 'woocommerce_shortcode_products_query', function( $query_args, $atts, $loop_name ){ if( $loop_name == 'sale_products' ){ //Шорткод Товары по скидке $query_args['meta_query'] = array( array( 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => 'NOT LIKE', ) ); } return $query_args; }, 10, 3); add_filter( 'woocommerce_shortcode_products_query', function( $query_args, $atts, $loop_name ){ if( $loop_name == 'recent_products' ){ //Шорткод Рекомендуемые товары $query_args['meta_query'] = array( array( 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => 'NOT LIKE', ) ); } return $query_args; }, 10, 3);
Где находится файл function.php?
Файл function.php находится в папке вашей темы WordPress, путь к файлу следующий:
/wp-content/themes/Тема WordPress/function.php
Этот код еще работает?
Пожалуйста, сообщите мне в комментариях о работоспособности. Данный код тестировался с темой Newspaper, версией PHP 7 и WooCommerce указанной в коде.