很好,我想知道我是否可以从单个产品页面中删除产品缩略图,只有一个图像(即仅产品图像(。一张图像,他们不需要看到缩略图,而是带有产品图像和产品库图像的产品,缩略图可以显示。
有没有办法实现这一目标?
我尝试了以下操作,但对我不起作用(尽管代码是完全删除缩略图(;
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文件中。测试并起作用。
所有这些都适用于无法制作相关自定义的主题。