我想在函数中使用一个类。php,但我不确定设置它的最佳方式
我还想获得WooCommerce的购物车阵列。我目前还没有访问类中WC()的权限。
在函数中实现OOP的最佳途径是什么。php和将WooCommerce的类WC()引入我的类以便我可以用于其他函数的最佳方法是什么。
my code in functions.php
class MyCart {
public $cart_contents;
public function __construct(){
add_action( \'get_header\', [ $this, \'set_users_cart_contents\' ] );
//$this->set_users_cart_contents();
}
public function set_users_cart_contents() {
$this->cart_contents = WC()->cart->get_cart_contents(); // what i want to use
//$this->cart_contents = [\'test\' => \'123\']; // dummy array for testing
}
public function get_users_cart_contents() {
return $this->cart_contents;
}
} // class
$cartClass = new MyCart();
// add action
function emdr_add_to_cart(){
// I want to use my class here
// $items = $cartClass->get_users_cart_contents();
}
add_action( \'woocommerce_add_to_cart\', \'emdr_add_to_cart\');
// add action
function cart_page_logic(){
if(is_cart()){
// I want to use my class here
// $items = $cartClass->get_users_cart_contents();
}
}
add_action( \'get_header\', \'cart_page_logic\' );
SO网友:Ethan
如果已定义类MyCart
直接进入functions.php
用你的钩子。我希望以下方面能够发挥作用:
// add action
$cart = new MyCart();
function emdr_add_to_cart(){
$items = $cartClass->get_users_cart_contents();
// process items
}
add_action( \'woocommerce_add_to_cart\', \'emdr_add_to_cart\');
我还可以补充一点,复制;“状态”;在两个地方的用户购物车中,可能有一个代码气味。我建议直接使用WooCommerce购物车中的值。