kri*_*ris 3 php wordpress cart woocommerce
我正在为 WooCommerce 开发一个插件。
在我的后端 API 服务器(不是我的 Wordpress 服务器,而是维护购物车记录副本的另一台服务器)上,我需要一种方法来判断我正在处理的购物车是否与以前相同(购物车项目或详细信息可能已更改) ,但就使用我的 WP 网站的消费者而言,他们仍处于相同的购物车体验中)。
我需要一些可以作为购物车的唯一标识符的东西。
据我所知,WC_Cart对象上没有明确的 ID,
是否有一种好的合理方法来派生 ID?
注意:我知道可以使用generate_cart_id()来获取购物车中产品线的唯一ID(如本问题中所述),但是我在这里寻找的是购物车本身的标识符。
你的目标相当有趣。我已阅读 WooCommerce 的代码,但遗憾的是它没有您需要的内容。
不过我有一个建议。这可能会有所帮助。与您自己的类进行woocommerce_init
更改WC()->cart
,该类扩展到WC_Cart
. 然后在你的班级中有一种方法可以设置你的购物车 ID。像下面这样的东西。
add_action( 'woocommerce_init', 'woocommerce_init', 30 );
function woocommerce_init() {
class myWC_Cart extends WC_Cart {
private $cart_id = 1234; // set cart id by any means necessary
public function get_cart_id() {
return $this->cart_id;
}
}
WC()->cart = new myWC_Cart();
}
Run Code Online (Sandbox Code Playgroud)
这样,在 WooCommerce 准备好或加载的任何地方,您都可以通过调用获取购物车 ID
WC()->cart->get_cart_id();
归档时间: |
|
查看次数: |
11735 次 |
最近记录: |