如果仅将一张图像添加到产品WooCommerce中,如何删除产品缩略图



很好,我想知道我是否可以从单个产品页面中删除产品缩略图,只有一个图像(即仅产品图像(。一张图像,他们不需要看到缩略图,而是带有产品图像和产品库图像的产品,缩略图可以显示。

有没有办法实现这一目标?

我尝试了以下操作,但对我不起作用(尽管代码是完全删除缩略图(;

function remove_gallery_thumbnail_images() {
    if ( is_product() ) {
        remove_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20 );
    }
}
add_action('loop_start', 'remove_gallery_thumbnail_images');

我该如何实现?如果产品只有一个图像,则禁用缩略图,如果产品有多个图像,则显示缩略图。

非常欢迎任何帮助。

通常,当其中没有缩略图时,WooCommerce不会显示画廊。

在您的情况下,您可以尝试使用以下内容:

add_action( 'woocommerce_product_thumbnails', 'enable_gallery_for_multiple_thumbnails_only', 5 );
function enable_gallery_for_multiple_thumbnails_only() {
    global $product;
    if( ! is_a($product, 'WC_Product') ) {
        $product = wc_get_product( get_the_id() );
    }
    if( empty( $product->get_gallery_image_ids() ) ) {
        remove_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20 );
    }
}

或如果将图像作为缩略图包含在画廊中,则可以在功能中替换:

if( empty( $product->get_gallery_image_ids() ) ) {

通过以下行:

if( sizeof( $product->get_gallery_image_ids() ) == 1 ) {

代码在您的活动子主题(或活动主题(的functions.php文件中。测试并起作用。


您还可以用内联CSS隐藏画廊:

add_action( 'woocommerce_before_single_product_summary', 'enable_gallery_for_multiple_thumbnails_only', 5 );
function enable_gallery_for_multiple_thumbnails_only() {
    global $product;
    if( ! is_a($product, 'WC_Product') ) {
        $product = wc_get_product( get_the_id() );
    }
    if( empty( $product->get_gallery_image_ids() ) ) {
        echo '<style> ol.flex-control-thumbs { display:none; } </style>';
    }
}

或如果将图像作为缩略图包含在画廊中,则可以在功能中替换:

if( empty( $product->get_gallery_image_ids() ) ) {

通过以下行:

if( sizeof( $product->get_gallery_image_ids() ) == 1 ) {

代码在您的活动子主题(或活动主题(的functions.php文件中。测试并起作用。

所有这些都适用于无法制作相关自定义的主题。

最新更新