Если вам нравится макет страницы одного продукта Amazon, вам, вероятно, не нравится макет вкладок страницы одного продукта WooCommerce по умолчанию. В этом разделе по умолчанию отображаются «Описание», «Обзоры», «Дополнительная информация» и другое настраиваемое содержимое… в виде вкладок под изображением и кратким описанием.
К счастью, есть очень простой способ удалить такие вкладки и отображать каждую вкладку друг над другом, не скрывая никакого содержимого. Если это хорошо для ваших пользователей, я рекомендую вам использовать этот очень простой фрагмент.
В этом руководстве вы узнаете о «подключаемых функциях». По сути, там, где это предусмотрено, вы можете просто повторно объявить функцию настраиваемого плагина (WooCommerce) без использования хуков или переопределений. WordPress будет просто «слушать» вашу новую версию, а не оригинальную.
Размещение вкладок продуктов друг над другом
Прежде всего, как я уже сказал, вкладки отображаются в WooCommerce благодаря этой «подключаемой» функции:
1 2 3 4 5 6 7 8 |
if ( ! function_exists( 'woocommerce_output_product_data_tabs' ) ) { /** * Output the product tabs. */ function woocommerce_output_product_data_tabs() { wc_get_template( 'single-product/tabs/tabs.php' ); } } |
Мы можем просто повторно объявить PHP-функцию woocommerce_output_product_data_tabs () и сказать WordPress, чтобы он слушал нашу новую версию уже без табов
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function woocommerce_output_product_data_tabs() { $product_tabs = apply_filters( 'woocommerce_product_tabs', array() ); if ( empty( $product_tabs ) ) return; echo '<div class="woocommerce-tabs wc-tabs-wrapper">'; foreach ( $product_tabs as $key => $product_tab ) { ?> <div id="tab-<?php echo esc_attr( $key ); ?>"> <?php if ( isset( $product_tab['callback'] ) ) { call_user_func( $product_tab['callback'], $key, $product_tab ); } ?> </div> <?php } echo '</div>'; } |
Каковы способы убрать вкладки на странице товаров Woocommerce и создать вариант Амазона без табов?
Как можно изменить расположение вкладок продукта на странице WooCommerce?
Как можно удалить вкладки и отобразить их друг над другом в WooCommerce?
Статья поднимает интересный вопрос о форматировании вкладок на страницах продуктов в WooCommerce, сравнивая его с более интуитивно понятным макетом Amazon. Я впечатлён простотой решения, предложенного автором, но у меня возникли некоторые вопросы относительно его реализации.
Во-первых, как именно можно настроить отображение вкладок друг под другом? Есть ли какие-то ограничения или особенности, о которых следует знать при изменении этого поведения? Например, если я решу добавить кастомные вкладки с дополнительной информацией, не станут ли они слишком длинными и неудобными для пользователей, в отличие от стандартных вкладок?
Во-вторых, мне было бы полезно узнать, насколько этот подход устойчив к обновлениям WooCommerce. Есть ли вероятность, что при обновлении плагина они могут изменить структуру или функциональность, и тогда мой кастомный код перестанет работать?
Напоследок, я бы хотел узнать больше об использовании «подключаемых функций» в WooCommerce. Можете ли вы привести пример, как это может быть применено для добавления метаданных на странице продукта, чтобы сделать информацию еще более полезной и доступной для пользователей?
В общем, статья очень актуальна, и она открывает возможности для улучшения интерфейса страниц продуктов, но мне кажется, что некоторые детали требуют более глубокой проработки.