Я работаю над слайдером для галереи продуктов 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", но это немного необработанный метод, и я хотел бы знать, возможно ли это с помощью другого, менее необработанного метода.
Как подсказал мне @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
И вуаля, теперь вам решать, какой метод вы хотите сохранить.
Для этого есть несколько способов, как вы уже сами указали. Например, вы можете преобразовать код, который вы не хотите использовать, в комментарий (с помощью тегов комментариев) или просто заменить
$attachment_ids = $product->get_gallery_image_ids();
на$attachment_ids = false