Всем привет! Пытаюсь разобраться в верстке WooCommerce шаблона, точнее даже в 'логике' этой самой верстки с этими пресловутыми
hooked
. Перекопал кучу материала и собрал для себя некоторую картину 'действий'.
Установка:
- Установил WP.
- Установил плагин WooCommecre в WP.
- Создал файл в своей теме под названием woocommerce.php, в него вставил
<?php woocommerce_content(); ?>
.
- Скопировал папку
template
из плагина WooCommerce и переместил ее в мою тему, далее переименовал ее в woocommerce.
- Создал несколько категорий и наполнил их товарами для наглядности.
Верстка шаблона:
И вот здесь начались основные вопросы. Перечитал материалы и частично выяснил, что эти самые
hooked
содержат в себе части верстки.
Начнем с карточки товара: Нашел страницу, которая отвечает за карточку товара -
content-single-product.php
, захожу на страницу и вижу:
<div class="summary entry-summary">
<?php
/**
* woocommerce_single_product_summary hook.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
do_action( 'woocommerce_single_product_summary' );
?>
</div>
woocommerce_single_product_summary hook
- удалил, вроде ничего не изменилось. Данная строка ничего не изменяет и просто служит комментом?
@hooked woocommerce_template_single_title - 5
- содержит в себе кусок кода, который находится по адресу: /themes/наша-тема/woocommerce/single-product/title.php?
@hooked woocommerce_template_single_title - 5
- что такое цифра 5? Предположил, что это порядок вывода, но когда изменил вывод так:
<div class="summary entry-summary">
<?php
/**
* woocommerce_single_product_summary hook.
*
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_title - 15 // <-- переместил сюда и поменял номер
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
do_action( 'woocommerce_single_product_summary' );
?>
</div>
- ничего не изменилось, порядок остался прежним на странице. Решил удалить строку с заголовком - аналогично, заголовок проигнорировал и остался на странице.
3 основных вопроса:
- Для чего нужны те самые цифры в конце строки с
hooked
. Что они меняют и как это применить на практике?
- Если после изменения порядка вывода
hooked
(местами поменять) - на выходе, на странице остается все прежним, то как тогда верстать ту самую карточку товара?
- Что такое
do_action( 'woocommerce_single_product_summary' )
, для чего оно нужно и что меняет?
Учитывая, что мой вопрос достаточно актуальный на просторах сети - он будет интересен большой аудитории новичков вроде меня, и еще просьба - привести наглядный пример на мои 'как'.
Заранее ОГРОМНОЕ спасибо!