Sur*_*yan 1 php wordpress woocommerce hook-woocommerce
我有 woocommerce 商店,例如:example.com/store/
我正在 WordPress 之外创建一些产品销售页面:example.com/upsell.php
现在,我想在您访问 example.com/upsell.php 后清除购物车,因为我们在追加销售中执行了多个步骤,最后我们发送了一个 url 请求以将产品添加到购物车中 (example.com/store/购物车/?添加到购物车=1,5,8)。
每当您访问追加销售页面时,我们都需要清除购物车会话。
如何从追加销售页面清除购物车会话?
您需要添加一个操作来清除模板重定向挂钩中的购物车项目。
在自定义功能中,检查当前页面标题,然后根据我们的条件清除购物车。
在您的主题functions.php或自定义插件文件中使用以下代码片段。
add_action( 'template_redirect', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
global $post;
$slug = $post->post_name;
if($slug == 'sample-page') {
global $woocommerce;
$woocommerce->cart->empty_cart();
}
}
Run Code Online (Sandbox Code Playgroud)
更新
如果您不喜欢对 page slug 进行硬编码,还有一个更好的方法。
add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
if ( isset( $_GET['clear-cart'] ) ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
}
}
Run Code Online (Sandbox Code Playgroud)
将上述代码添加到主题functions.php文件中。
clear-cart然后通过在 URL 中添加查询字符串来重定向到页面,这将清除所有购物车项目。
我们可以在任何 URL 中使用这个函数。
或者
http://example.com/sample-page/?clear-cart
| 归档时间: |
|
| 查看次数: |
7535 次 |
| 最近记录: |