Переместить краткое описание во вкладки на страницах отдельных продуктов Woocommerce - PullRequest
1 голос
/ 23 марта 2019

Как переместить краткое описание продукта на пользовательскую вкладку продукта на странице woocommerce Single Product, где есть описание и дополнительная информация?

Я переместил вкладку описания и дополнительной информации из стандартного положения в правую часть, где находится сводная информация о продукте. Тем не менее, я хотел бы вставить сводку продукта во вкладку, так что по сути это будет 3 вкладки.

Код, который я использовал для перемещения вкладок справа от изображения:

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 30 );

1 Ответ

0 голосов
/ 23 марта 2019

Вы по-прежнему сохраняете следующее, которое меняет расположение вкладок (как вы уже делаете):

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_output_product_data_tabs', 30 );

Затем следующее изменит местоположение краткого описания на вкладку пользовательского продукта:

// Remove short description
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );

// Add short description to a custom product tab
add_filter( 'woocommerce_product_tabs', 'add_custom_product_tab', 10, 1 );
function add_custom_product_tab( $tabs ) {

    $custom_tab = array(
        'custom_tab' =>  array(
            'title' => __( "Short description", "woocommerce" ),
            'priority' => 12,
            'callback' => 'short_description_tab_content'
        )
    );
    return array_merge( $custom_tab, $tabs );
}

// Custom product tab content
function short_description_tab_content() {
    global $post, $product;

    $short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );

    if ( ! $short_description ) {
        return;
    }

    echo '<div class="woocommerce-product-details__short-description">' . $short_description . '</div>'; // WPCS: XSS ok.
}

Код поступает в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

...