Есть пользовательская таксономия, к ней, помимо встроенных постов, привязаны еще продукты. И поэтому woocommerce считает, что для архивной страницы этой таксономии нужно подтягивать свой запрос WC_Query и свой шаблон woocommerce.php с woocommerce_contnet();. Условие на использование шаблона я написал
if (is_tax('authors')) {
include('taxonomy-authors.php');
}
else
{ woocommerce_content(); }
Это неполный код, но суть такая. Но запрос остается вукоммерсовский, и выводит продукты, как бы я его внутри шаблона не сбрасывал. Можно дописать отдельный get_posts() или WP_Query на посты, но в основном лупе все равно продукты и из-за этого проблемы с пагинацией. Мне нужна пагинация по постам, а если нет второй страницы с продуктами, то и вторую страницу с постами он не покажет, будет 404.
UPD: нашел в файле class-wc-query.php строчку проверки на принадлежность страницы к продуктам или архивам для pre_get_posts
// Only apply to product categories, the product post archive, the shop page, product tags, and product attribute taxonomies
} elseif ( ! $q->is_post_type_archive( 'product' ) && ! $q->is_tax( get_object_taxonomies( 'product' ) ) ) {
Еслия добавлю в неё условие, все будет работать как мне надо
// Only apply to product categories, the product post archive, the shop page, product tags, and product attribute taxonomies
} elseif ( (! $q->is_post_type_archive( 'product' ) && ! $q->is_tax( get_object_taxonomies( 'product' ) )) || $q->is_tax('authors') ) {
Как это сделать хуком или фильтром или экшном, чтоб не менять код плагина?