很好,我想知道我是否可以从单个产品页面中删除产品缩略图,因为产品只有一张图像(即只有产品图像)。这样,当用户查看只有一张图像的产品时,他们不需要看到缩略图但带有产品图片和产品图库图片的产品,可以显示缩略图。
有没有办法实现这个目标?
我已经尝试了以下方法,但对我不起作用(尽管代码是完全删除缩略图);
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 文件中。已测试并有效。
所有这些都适用于不进行相关自定义的主题。
我一直在寻找如何将手机中的缩略图更改为黑点?等了这么久,希望有人能分享一下代码,谢谢。