WooCommerce的我的账户中订单管理比较简单,一般只可以查看已经完成的订单,但有时候,我们希望客户直接可以重新购买这个产品,该怎么办呢?
我们可以自己编码!并且只需重用我们已经编写的大部分代码,以及依赖 WooCommerce“监听器”来获取现有的“再次订购”按钮。
PHP 代码段:将“再次订购”按钮添加到我的帐户 > 订单操作(仅限已完成的订单)
如果您想知道我是如何在下面的代码段中提出“url”代码的,我只是重用了与woocommerce_order_again_button()函数完全相同的代码。
此外,在 Cart 类的某处,有一个“监听器”在单击按钮时触发——参见get_cart_from_session() ——所以因为我使用的是完全相同的按钮 URL,所以监听器也会从新按钮位置触发。
/** * @snippet Order Again @ My Account Orders * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 6 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( 'woocommerce_my_account_my_orders_actions', 'bbloomer_order_again_action', 9999, 2 ); function bbloomer_order_again_action( $actions, $order ) { if ( $order->has_status( 'completed' ) ) { $actions['order-again'] = array( 'url' => wp_nonce_url( add_query_arg( 'order_again', $order->get_id(), wc_get_cart_url() ), 'woocommerce-order_again' ), 'name' => __( 'Order again', 'woocommerce' ), ); } return $actions; }
就这么简单就可以轻松搞定了。将以上代码复制到您所在主题的function.php中。
评论0