Перехватить файл related.php из WooCommerce
Пожалуйста, помогите понять как перехватить файл. Я уже пробовал задавать этот вопрос на других источниках, но до сих пор мне никто не подсказал... решил обратиться к старой доброй каме
В плагине WooCommerce есть подключение файла related.php вот таким образом - https://github.com/woocommerce/woocommerce/blob/527a7261bd0ad1f4ba1d8eb2f82a96f53867b715/includes/wc-template-functions.php#L1925
Этот файл отвечает за отображение похожих товаров в карточке продукта. Насколько я помню, файл можно изменить в самой теме, создав папку с директорией до своего файла /woocommerce/single-product/related.php в корне шаблона
Я хочу понять как перехватить файл именно из плагина и объявить подключение на другой источник, например в мой плагин. По сути я хочу сделать подмену related.php своим файлом. Даже если в теме мы создадим каталог /woocommerce/single-product/related.php, приоритет все равно должен быть у меня, с перенаправлением на мой файл.
Пожалуйста, покажите пример того, как я могу перехватить этот файл https://github.com/woocommerce/woocommerce/blob/527a7261bd0ad1f4ba1d8eb2f82a96f53867b715/includes/wc-template-functions.php#L1925, чтобы он работал из другого источника...
Буду очень благодарен!
Решение ты нашёл у меня в чате)) а эту ссылку я тебе скинул, чтобы вручную пример не писать. Просто ответ звучит так, как будто тебя проигнорировали, но это ведь не так. А хук мы обязательно опишем со временем, Москва не сразу строилась.
Не отрицаю, ты подсказал и дал ссылку. Сам искал дофига... Теперь в каждом посте тебя буду указывать)
Решение было найдено тут https://stackoverflow.com/questions/32446556/woocommerce-alternative-for-woocommerce-locate-template . Требуется применить фильтр woocommerce_locate_template, который принимает три аргумента:
$template является результатом основной функции wp locate_template
$template_name является только именем файла
$template_path - путь woocommerce для шаблона
Я сделал вот так:
На каме эта функция не описана кстати https://wp-kama.ru/hook/woocommerce_locate_template