Да, можно скрыть товары, не связанные со складами.
Добавьте приведенное ниже в functions.php - это скроет отсутствующие товары от сопутствующих товаров.
add_filter( 'woocommerce_output_related_products_args', function( $args )
{
$args = wp_parse_args( array(
'posts_per_page' => 4,
'meta_query' => array (
'key' => '_stock_status',
'value' => 'instock'
)
), $args );
return $args;
});
Постов на каждой странице страницы можно удалить, но это полезно для быстрой визуализации того, что это сработало на вашем блоке сопутствующих товаров.
Вы хотите использовать log4j StringMatchFilter который является частью пакета «extras» из журнала apache.
Вот быстрый пример, найденный онлайн :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CustomAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="custom.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="5000KB"/>
<param name="maxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="Here is DEBUG" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
<root>
<appender-ref ref="CustomAppender"/>
</root>
</log4j:configuration>
Как насчет создания ваших таможенных уровней
public class Groovy extends Level
А затем в файле свойств журнала установите эти уровни в качестве вашей конфигурации
Надеюсь, это поможет, Дэвид.
Можно использовать разные регистраторы (например, регистратор для сообщений "java" и один для "Groovy" сообщений). Конфигурация Log4J может быть установлена с различными уровнями для каждого регистратора.
Вы можете прочитать больше здесь
Можно использовать инструмент для фильтрации вне сообщения. Для Windows вы можете сделать это с BareTail . Фильтрация сообщений возможна только с про (платной) версией. Возможно, есть другие инструменты, которые выполняют ту же работу.
Маркеры SLF4J, возможно, подходят для ваших целей. Все методы печати, такие как отладка и информация в org.slf4j.Logger
, допускают Маркер в качестве первого параметра . Более того, logback-classic, родная реализация SLF4J, поставляется с фильтром под названием MarkerFilter
, который, я думаю, делает то, что вы хотите.