[英]Shortcode of woocommerce variation description
有没有办法获得产品的可变变化描述?
当我设置描述时,它出现在变体选择和添加到购物车按钮之间。
我已经尝试过类似的方法,但是没有用:
function vardesc_sc( ){
return get_variation_description();
}
add_shortcode( 'variation_descr', 'vardesc_sc' );
也许你可以帮助我。
查看此代码。 相应地替换您的选项卡回调 function。
add_filter( 'woocommerce_product_tabs', 'VAR_product_tab' );
function VAR_product_tab( $tabs ) {
$tabs['custom_tab'] = array(
'title' => __( 'VAR', 'woocommerce' ),
'priority' => 50,
'callback' => 'VAR_product_tab_content',
);
return $tabs;
}
function VAR_product_tab_content() {
global $product;
$product_id = $product->get_id();
?>
<div class="new-variation">Please select <div>
<script>
jQuery( 'input.variation_id' ).on( 'change', function(){
var product_id = <?php echo $product_id; ?>
if( '' != jQuery(this).val() ) {
var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
var var_id = jQuery(this).val();
jQuery.ajax({
type : "POST",
dataType : "json",
url : ajaxurl,
data : {action: "get_data", variation_id: var_id, product_id: product_id},
success: function(response) {
jQuery('.new-variation').html(response)
}
});
}
});
</script>
<?php
}
add_action( 'wp_ajax_nopriv_get_data', 'my_ajax_handler' );
add_action( 'wp_ajax_get_data', 'my_ajax_handler' );
function my_ajax_handler() {
$product_id = $_POST['product_id'];
$product = wc_get_product( $product_id );
$variation_id = $_POST['variation_id'];
$variations = $product->get_available_variations();
foreach ( $variations as $variation ) {
if ( $variation_id == $variation['variation_id'] ) {
$variation_description = $variation['variation_description'];
wp_send_json( $variation_description );
die();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.