添加缩略图到Group产品图片Woocommerce
问题描述:
当前woo commerce只提供产品名称和数量框。我的一些产品是不同的颜色或风格。我希望客户能够在分组产品的产品名称旁边看到缩略图。另外如果可能的话,如果他们将鼠标悬停在它上面,看它更大。添加缩略图到Group产品图片Woocommerce
Grouped.php file:
<?php
/**
* Grouped product add to cart
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.1.7
*/
if (! defined('ABSPATH')) exit; // Exit if accessed directly
global $product, $post;
$parent_product_post = $post;
do_action('woocommerce_before_add_to_cart_form'); ?>
<form class="cart" method="post" enctype='multipart/form-data'>
<table cellspacing="0" class="group_table">
<tbody>
<?php
foreach ($grouped_products as $product_id) :
$product = wc_get_product($product_id);
$post = $product->post;
setup_postdata($post);
?>
<tr>
<td>
<?php if ($product->is_sold_individually() || ! $product->is_purchasable()) : ?>
<?php woocommerce_template_loop_add_to_cart(); ?>
<?php else : ?>
<?php
$quantites_required = true;
woocommerce_quantity_input(array('input_name' => 'quantity[' . $product_id . ']', 'input_value' => '0'));
?>
<?php endif; ?>
</td>
<td class="label">
<label for="product-<?php echo $product_id; ?>">
<?php echo $product->is_visible() ? '<a href="' . get_permalink() . '">' . get_the_title() . '</a>' : get_the_title(); ?>
</label>
</td>
<?php do_action ('woocommerce_grouped_product_list_before_price', $product); ?>
<td class="price">
<?php
echo $product->get_price_html();
if (($availability = $product->get_availability()) && $availability['availability'])
echo apply_filters('woocommerce_stock_html', '<p class="stock ' . esc_attr($availability['class']) . '">' . esc_html($availability['availability']) . '</p>', $availability['availability']);
?>
</td>
</tr>
<?php
endforeach;
// Reset to parent grouped product
$post = $parent_product_post;
$product = wc_get_product($parent_product_post->ID);
setup_postdata($parent_product_post);
?>
</tbody>
</table>
<input type="hidden" name="add-to-cart" value="<?php echo esc_attr($product->id); ?>" />
<?php if ($quantites_required) : ?>
<?php do_action('woocommerce_before_add_to_cart_button'); ?>
<button type="submit" class="single_add_to_cart_button btn btn-flat"><?php echo apply_filters('add_to_cart_text' , $product->single_add_to_cart_text()); ?></button>
<?php do_action('woocommerce_after_add_to_cart_button'); ?>
<?php endif; ?>
</form>
发现这一点,但似乎并没有工作
add_action('woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail');
function woocommerce_grouped_product_thumbnail($product) {
$image_size = array(20, 20); // array(width, height) image size in pixel
$attachment_id = get_post_meta($product->id, '_thumbnail_id', true);
?>
<td class="label">
<?php echo wp_get_attachment_image($attachment_id, $image_size); ?>
</td>
<?php
}
答
我做吧! 我以另一种方式使用此代码:
<?php
/**
* Grouped product add to cart
*
* @author \t \t WooThemes
* @package \t WooCommerce/Templates
* @version 2.1.7
*/
if (! defined('ABSPATH')) {
\t exit; // Exit if accessed directly
}
global $product, $post, $image_size;
$image_size = array(50, 50);// array(width, height) image size in pixel
$parent_product_post = $post;
do_action('woocommerce_before_add_to_cart_form'); ?>
<form class="cart" method="post" enctype='multipart/form-data'>
\t <table cellspacing="0" class="group_table">
\t \t <tbody>
\t \t \t <?php
\t \t \t \t foreach ($grouped_products as $product_id) :
\t \t \t \t \t $product = wc_get_product($product_id);
\t \t \t \t \t if ('yes' === get_option('woocommerce_hide_out_of_stock_items') && ! $product->is_in_stock()) {
\t \t \t \t \t \t continue;
\t \t \t \t \t }
\t \t \t \t \t $post = $product->post;
\t \t \t \t \t setup_postdata($post);
\t \t \t \t \t ?>
\t \t \t \t \t <tr>
\t \t \t \t \t \t <?php $attachment_id = get_post_meta($product->id, '_thumbnail_id', true); ?>
\t \t \t \t \t \t <td class="gpThumbs">
\t \t \t \t \t \t \t <?php echo wp_get_attachment_image($attachment_id, $image_size); ?> \t
\t \t \t \t \t \t </td>
\t \t \t \t \t \t
\t \t \t \t \t \t <td class="label">
\t \t \t \t \t \t \t <label for="product-<?php echo $product_id; ?>">
\t \t \t \t \t \t \t \t <?php echo $product->is_visible() ? '<a href="' . get_permalink() . '">' . get_the_title() . '</a>' : get_the_title(); ?>
\t \t \t \t \t \t \t </label>
\t \t \t \t \t \t </td>
\t \t \t \t \t \t <?php do_action ('woocommerce_grouped_product_list_before_price', $product); ?>
\t \t \t \t \t \t
\t \t \t \t \t \t <td class="price">
\t \t \t \t \t \t \t <?php
\t \t \t \t \t \t \t \t echo $product->get_price_html();
\t \t \t \t \t \t \t \t if ($availability = $product->get_availability()) {
\t \t \t \t \t \t \t \t \t $availability_html = empty($availability['availability']) ? '' : '<p class="stock ' . esc_attr($availability['class']) . '">' . esc_html($availability['availability']) . '</p>';
\t \t \t \t \t \t \t \t \t echo apply_filters('woocommerce_stock_html', $availability_html, $availability['availability'], $product);
\t \t \t \t \t \t \t \t }
\t \t \t \t \t \t \t ?>
\t \t \t \t \t \t </td>
\t \t \t \t \t \t <td>
\t \t \t \t \t \t \t <?php if ($product->is_sold_individually() || ! $product->is_purchasable()) : ?>
\t \t \t \t \t \t \t \t <?php woocommerce_template_loop_add_to_cart(); ?>
\t \t \t \t \t \t \t <?php else : ?>
\t \t \t \t \t \t \t \t <?php
\t \t \t \t \t \t \t \t \t $quantites_required = true;
\t \t \t \t \t \t \t \t \t woocommerce_quantity_input(array('input_name' => 'quantity[' . $product_id . ']', 'input_value' => '0', 'min_value' => apply_filters('woocommerce_quantity_input_min', 0, $product), 'max_value' => apply_filters('woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product)));
\t \t \t \t \t \t \t \t ?>
\t \t \t \t \t \t \t <?php endif; ?>
\t \t \t \t \t \t </td>
\t \t \t \t \t \t
\t \t \t \t \t </tr>
\t \t \t \t \t <?php
\t \t \t \t endforeach;
\t \t \t \t // Reset to parent grouped product
\t \t \t \t $post = $parent_product_post;
\t \t \t \t $product = wc_get_product($parent_product_post->ID);
\t \t \t \t setup_postdata($parent_product_post);
\t \t \t ?>
\t \t </tbody>
\t </table>
\t <input type="hidden" name="add-to-cart" value="<?php echo esc_attr($product->id); ?>" />
\t <?php if ($quantites_required) : ?>
\t \t <?php do_action('woocommerce_before_add_to_cart_button'); ?>
\t \t <button type="submit" class="single_add_to_cart_button button alt"><?php echo $product->single_add_to_cart_text(); ?></button>
\t \t <?php do_action('woocommerce_after_add_to_cart_button'); ?>
\t <?php endif; ?>
</form>
<?php do_action('woocommerce_after_add_to_cart_form'); ?>
它workes罚款:)
你在哪里,在几个星期前!大声笑我付了40美元做这件事,你的代码工作得更好:P – ryanb4614 2015-03-26 23:18:11