Если вам нравится макет страницы одного продукта 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>'; } |