Если ленивый - читай сразу последний абзац!
Файл content-product.php, строка do_action( 'woocommerce_after_shop_loop_item' ); выводит кнопку "В корзину", при нажатии товар добавляется в корзину, пользователь остается на странице магазина.
Нужно заменить эту кнопку на кнопку "Посмотреть" (на сайте функционал корзины не используется, сайт не интернет-магазин, а интернет-каталог оффлайн-магазина) так, чтобы при нажатии пользователя отправляло на страницу товара , под которым эта кнопка находится(как при нажатии на изображение товара).
Чтобы вы понимали о чем речь: ссылка на сам сайт, не обессудьте ;-)
Я думал что do_action( 'woocommerce_after_shop_loop_item' ); возвращает echo "...html..." и попытался найти функцию которая этот код генерирует, но я не понимаю как искать функцию которая вызывается с помощью хука. Помогите мне с поиском пожалуйста)
Решил с помощью get_permalink()! Спасибо обидевшемуся на меня комментатору.
Как искать функцию которая вызывается с помощью хука - это хороший вопрос. Такие действия приходится выполнять по несколько раз на дню.
Понятно, что искать можно только по файлам исходных текстов. То есть, как минимум, должна быть полная локальная копия сайта. Учитывая, что WordPress - это примерно полмиллиона строк, а WooCommerce - 300 тысяч строк, поиск по подпапкам стандартными средствами (например, Total Commander) - это очень долго. Нужно индексирование.
Современные IDE (например, phpStorm) индексируют исходные тексты проекта, и поиск по всему проекту осуществляется практически мгновенно, по мере ввода символов в строке поиска.
В вашем случае: вызываем окно глобального поиска в phpStorm (ctrl+shift+f), вводим 'woocommerce_after_shop_loop_item'
. Моментально получаем все упоминания в проекте:
Видим, что в самом WooCommerce есть файл wp-content/plugins/woocommerce/includes/wc-template-hooks.php
, в котором присутствует строка (подсвечена на картинке)
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
Кликаем на строку, открывается файл. Подводим указатель мыши к woocommerce_template_loop_add_to_cart
, удерживая ctrl.
Видим, что IDE вывела краткое описание функции woocommerce_template_loop_add_to_cart
и её параметров. Кликаем на woocommerce_template_loop_add_to_cart
, удерживая ctrl.
И IDE открывает тот участок исходного текста, где объявлена woocommerce_template_loop_add_to_cart
, причём неважно, в каком файле эта находится.
Таким образом, процесс поиска занимает 5 секунд, которые в основном уходят на чтение первой выдачи по ctrl+shift+f.
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Написан скрипт для постинга записей в открытые сообщества ВК методом wallpost
Задача состоит в том, чтобы все пути, в которых встречается /api/
С помощью функции ignore_user_abort, можно сделать так, чтобы код работал вне зависимости от соединения пользователяТо есть, код работает практически...