Решив сменить положение мета данных (артикул и категорию) через хук - ничего не получилось.
Пример кода в файле /public_html/wp-content/plugins/woocommerce/templates/content-single-product.php
<div class="summary entry-summary"> <?php /** * Hook: woocommerce_single_product_summary. * * @hooked woocommerce_template_single_title - 5 * @hooked woocommerce_template_single_rating - 10 * @hooked woocommerce_template_single_price - 20 * @hooked woocommerce_template_single_excerpt - 20 * @hooked woocommerce_template_single_add_to_cart - 30 * @hooked woocommerce_template_single_meta - 5 * @hooked woocommerce_template_single_sharing - 5 * @hooked WC_Structured_Data::generate_product_data() - 5 */ do_action( 'woocommerce_single_product_summary' ); ?> </div>Ничего не происходит.
В общем решение следующее. Нужно убедится в правильном значении хука.
и через новый хук добавить новое значение.Почему так происходит?
Потому что приоритеты хуков могут быть переопределены темой или плагинами!
Комментарий в коде — это исходное состояние WooCommerce по умолчанию, но многие темы (особенно популярные, вроде Astra, Flatsome, OceanWP и т.д.) и плагины переподключают хуки с другими приоритетами — чтобы адаптировать дизайн под себя.
Как проверить реальные приоритеты?
Добавьте в
functions.php(временно!) этот код для отладки:add_action( 'woocommerce_single_product_summary', 'debug_woocommerce_hooks', 999 ); function debug_woocommerce_hooks() { global $wp_filter; if ( isset( $wp_filter['woocommerce_single_product_summary'] ) ) { echo '<pre>'; print_r( $wp_filter['woocommerce_single_product_summary'] ); echo '</pre>'; } }После через поиск по словам на странице товара - найдите хук который нужен и посмотрите его значение. У меня было всё-таки - 40.
P.S. Если не работает - то тестируйте просто в следующем коде хука 5,10,20,30,40,50...
Зная реальное значение добавим хук в
functions.phpadd_action( 'woocommerce_single_product_summary', function() { remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 7 ); }, 1 );