Как отключить миниатюры изображений продуктов для галереи woocommerce?

Я работаю над слайдером для галереи продуктов woocommerce, и мне не нужны сгенерированные миниатюры, потому что я использую «точки» для навигации и хочу скрыть/выгрузить сгенерированные миниатюры галереей woocommerce.

Во-первых, я поместил это в файл functions.php моей темы:

remove_theme_support( 'wc-product-gallery-slider' );

И на самом деле, я просто поместил «display: none» в свой файл css и сделал это для product-thumbnails.php:

// Note: `wc_get_gallery_image_html` was added in WC 3.3.2 and did not exist prior. This check protects against theme overrides being used on older versions of WC.
if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
    return;
}

global $post, $product;

$attachment_ids = $product->get_gallery_image_ids();

if ( $attachment_ids && $product->get_image_id() ) { ?>

<div class = "slider product-responsive-thumbnail" id = "product_thumbnail_<?php echo esc_attr( $post->ID ); ?>">
    <?php foreach ( $attachment_ids as $attachment_id ) { ?>
        <div class = "thumbnail-wrapper">
        <?php echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped ?>
        </div>
    <?php
    } ?>
</div>
<?php
}
?>

Я хотел бы полностью отключить генерацию миниатюр и их отображение, чтобы оптимизировать загрузку моей страницы!

Я знаю, что могу полностью удалить содержимое файла "produtc-thumbnails.php", но это немного необработанный метод, и я хотел бы знать, возможно ли это с помощью другого, менее необработанного метода.

Для этого есть несколько способов, как вы уже сами указали. Например, вы можете преобразовать код, который вы не хотите использовать, в комментарий (с помощью тегов комментариев) или просто заменить $attachment_ids = $product->get_gallery_image_ids(); на $attachment_ids = false

7uc1f3r 19.12.2020 08:06
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
1 221
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как подсказал мне @7uc1f3r,

Первое простое решение. Маска в файле woocommerce-general.css выглядит так:

.woocommerce div.product div.images .flex-control-thumbs {
    overflow: hidden;
    zoom: 1;
    margin: 0;
    padding:0;
    display:none; /* this hide the thumbnails */
}

Второе решение, поставьте «false» в product-thumbnails.php.

if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
    return;
}

global $post, $product;

$attachment_ids = false; // This disable the thumbnails

И вуаля, теперь вам решать, какой метод вы хотите сохранить.

Другие вопросы по теме