繁体   English   中英

woocommerce 变体描述的简码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM