我的Woo商店有一个问题无法解决。我想将“添加到购物车”按钮和变体选择器的价格降低到product以下。我尝试了几乎所有发现到stackoverflow中的代码(新的和最旧的),但是没有做任何改变。插入此代码时:
add_action( 'woocommerce_before_variations_form',
'second_button_single_variation', 30 );
function second_button_single_variation() {
global $product;
echo '<br>
<button type="submit" class="single_add_to_cart_button button alt">'.
esc_html( $product->single_add_to_cart_text() ).'</button>';}
它添加了“仅添加到购物车”按钮,但不在我想要的位置。我跟随BBlomer manual进入了单个产品页面,但没有更改我在那找到的任何代码/挂钩。这里有什么帮助吗?要显示要放入购物车的位置。
编辑:我在需要的地方找到了该打印按钮的代码:
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-
product_sku="%s" class="button %s product_type_%s">%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( $product->id ),
esc_attr( $product->get_sku() ),
$product->is_purchasable() ? 'add_to_cart_button' : '',
esc_attr( $product->product_type ),
esc_html( $product->add_to_cart_text() )
),
$product );
?>
但是为变体选项打印我按钮,但是没有下拉选择器。
答案 0 :(得分:0)
在WooCommerce核心中检查此操作挂钩
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
要获得您的要求,您需要删除此钩子,然后在您的functions.php中再次添加钩子。
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price_callback', 10 );
function woocommerce_template_single_price_callback(){
/*Play with Woocommerce Data Here*/
echo 'PRice';
echo 'Button';
}
答案 1 :(得分:0)
我的工作代码:
<?php
/**
* Custom Loop Add to Cart.
*
* Template with quantity and ajax.
*/
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
global $product;
?>
<?php if ( ! $product->is_in_stock() ) : ?>
<a href="<?php echo apply_filters( 'out_of_stock_add_to_cart_url', get_permalink( $product->id ) ); ?>" class="button"><?php echo apply_filters( 'out_of_stock_add_to_cart_text', __( 'Read More', 'woocommerce' ) ); ?></a>
<?php else : ?>
<?php
$link = array(
'url' => '',
'label' => '',
'class' => ''
);
switch ( $product->product_type ) {
case "variable" :
$link = apply_filters( 'variable_add_to_cart_url', get_permalink( $product->id ) );
$label = woocommerce_variable_add_to_cart();
break;
case "grouped" :
$link['url'] = apply_filters( 'grouped_add_to_cart_url', get_permalink( $product->id ) );
$link['label'] = apply_filters( 'grouped_add_to_cart_text', __( 'View options', 'woocommerce' ) );
break;
case "external" :
$link['url'] = apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
$link['label'] = apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
break;
default :
if ( $product->is_purchasable() ) {
$link['url'] = apply_filters( 'add_to_cart_url', esc_url( $product->add_to_cart_url() ) );
$link['label'] = apply_filters( 'add_to_cart_text', __( 'Add to cart', 'woocommerce' ) );
$link['class'] = apply_filters( 'add_to_cart_class', 'add_to_cart_button' );
} else {
$link['url'] = apply_filters( 'not_purchasable_url', get_permalink( $product->id ) );
$link['label'] = apply_filters( 'not_purchasable_text', __( 'Read More', 'woocommerce' ) );
}
break;
}
?>
<?php endif; ?>
<!--end code -->
非常感谢您尝试提供的所有帮助。 :)