WooCommerce主要产品形象

时间:2014-12-22 13:50:49

标签: wordpress woocommerce

我想对WooCommerce默认模板进行简单的更改。目前,图库显示在主图像正下方的左侧。我想让它显示在简短的简介描述的右侧。我设法通过将以下代码添加到functions.php文件中来实现此目的:

/*Relocate Product Gallery*/

remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );

add_action( 'woocommerce_before_single_product_summary', 'woocommerce-main-image', 20 );

add_action( 'woocommerce_single_product_summary', 'woocommerce_show_product_thumbnails', 100 ); 

第一行从左侧删除图像组(主图像和图库)。 最后一行只将画廊放在我想要的位置。 中间线是问题。我希望主产品图像能够显示在应有的位置,而不是它会抛出错误。我是否使用错误的可变名称来调用主要产品图像?

2 个答案:

答案 0 :(得分:2)

谢谢!来完成的。

/ ---移动产品库 /

remove_action(' woocommerce_product_thumbnails',' woocommerce_show_product_thumbnails',20); add_action(' woocommerce_single_product_summary',' woocommerce_show_product_thumbnails',100);

答案 1 :(得分:1)

简短的回答是没有名为woocommerce_main_image的功能 - 您应该使用woocommerce_show_product_images代替。如果你检查wc-template-hooks.php,你会发现它默认为挂钩:

add_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );

尚不清楚的原因是它尚未显示 - 也许您的模板未调用woocommerce_before_single_product_summary操作。


您说您想要与缩略图分开显示主图像;我将给你一个冗长的解释,说明它是如何工作的,以便你有一个更好的理解: 查看wc-template-functions.php - 您会发现woocommerce_show_product_images()通过此行包含product-image.php文件:

// wc-template-functions.php:716
wc_get_template( 'single-product/product-image.php' ); // Includes product-image.php

这显示主图像有一个用于显示缩略图的钩子:

// product-image.php:43
do_action( 'woocommerce_product_thumbnails' ); // woocommerce_show_product_thumbnails() is hooked to this

您可以create your own copy of product-image.php to override and remove the do_action()或者您可以使用remove_action()取消实际显示缩略图的功能。如果再次查看wc-template-hooks.php,您会看到:

// wc-template-hooks.php:108
// This hooks the function to the action
add_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20 );

这就是该行动的功能所在。您可以通过放置...

来删除它
// This unhooks the function from the action
remove_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails' );

...进入您的主题functions.php文件。要在其他位置显示缩略图,您只需使用模板中的woocommerce_show_product_thumbnails()功能或wc_get_template( 'single-product/product-thumbnails.php' );前者只是后者的包装函数。

希望这是一个明确的解释,让你能够完成其余的工作。祝你好运。