如何向WooCommerce购物车提供控制台日志数据?

时间:2017-09-04 作者:Group Of Oceninfo

我使用的是第三方小工具,他们提供实时可用性、成本和立即预订按钮。当客户单击“立即预订”按钮时,它会重定向到我想忽略的他们的网站。

在做了一些谷歌研究之后,我能够得到正确的标题&;当一些人单击“立即预订”按钮时,控制台下的成本会记录下来。

$w.event.subscribe("item.book.click", function(item) { 
   console.log(item);
   console.log("Title " + item[3].Name + " (Date " + item[4].date  + ", Period " + item[4].period + ", Adults " + item[4].adults + ", Children " + item[4].children + ", Infants " + item[4].infants + ")");
   console.log("Price " + item[3].Availability.Cost);
});
仅供参考>>所有产品均作为WooCommerce简单产品发布

您能否帮助我如何提供控制台日志数据,如标题和;价格进入WooCommerce购物车?我想让第三方book now按钮作为“添加到购物车”按钮,这样它就可以获得标题和;仅限价格。

如果你有任何问题,请告诉我。

1 个回复
SO网友:Group Of Oceninfo

在做了大量的研究之后,我用下面的代码得到了我的结果。

为了获得最终结果,我必须安装WC Fields Factory插件,并使用控制台日志或变量def传递动态值

在下使用此代码。js文件,并确保它在按钮点击时触发。

$w.event.subscribe("item.book.click", function(item) {
    $(\'[name="room_type"]\')[0].value = item[3].Name;
    $(\'[name="date"]\')[0].value = item[4].date;
    $(\'[name="nights"]\')[0].value = item[4].period;
    $(\'[name="adults"]\')[0].value = item[4].adults;
    $(\'[name="children"]\')[0].value = item[4].children;
    $(\'[name="infants"]\')[0].value = item[4].infants;
    $(\'[name="cost"]\')[0].value = item[3].Availability.Cost;
    $(\'[name="add-to-cart"]\')[0].click(); // Clicked on add to cart button
});
功能。动态获取自定义成本值的php代码。

/* Price Update Based On Plugin WC Field */

function calculate_cart_total( $cart_object ) {
    $additionalPrice = 0;

    foreach ( $cart_object as $key => $valueArray ) {
        if(is_array($valueArray)) {
            foreach ( $valueArray as $k => $value ) {
                if($value[\'wccpf_cost\']) {
                    $additionalPrice = $value[\'wccpf_cost\'][\'user_val\'];
                }
            }
        }
    }

    foreach ( WC()->cart->get_cart() as $key => $value ) {
        if( method_exists( $value[\'data\'], "set_price" ) ) {
            $value[\'data\']->set_price( $additionalPrice );
        } else {
            $value[\'data\']->price = ($additionalPrice );
        }     
    }
}
add_action( \'woocommerce_before_calculate_totals\', \'calculate_cart_total\', 99 );

/* before addto cart, clear cart values */
add_filter( \'woocommerce_add_to_cart_validation\', \'woo_custom_add_to_cart_before\' );

function woo_custom_add_to_cart_before( $cart_item_data ) {

    global $woocommerce;
    $woocommerce->cart->empty_cart();

    // Do nothing with the data and return
    return true;
}
在WC Fields Factory下,我创建了room\\u类型、日期、夜晚、成人、儿童、婴儿、成本字段,onclick值也会相应地动态提取。

结束