php - 如何将特定类别的产品页面重定向到 Woocommerce 中的购物车页面
问题描述
我想在用户直接单击单页产品时将其重定向到购物车,而无需转到仅一个类别产品的产品描述页面。
我使用了这段代码:
add_action( 'wp', 'ts_redirect_product_pages', 99 );
function ts_redirect_product_pages() {
if ( is_product() ) {
wp_safe_redirect( home_url('/cart/'));
exit;
}
}
它重定向到购物车页面,但所有其他产品类别也重定向我只希望重定向一个产品类别,请指导我如何做到这一点
解决方案
最好用template_redirect
钩子。要定位特定的产品类别,您可以使用 WordPresshas_term()
条件函数。对于购物车 url,最好使用 WooCommerce 功能wc_get_cart_url()
...
因此,在下面的代码中定义您的产品类别术语名称、slug(s) 或 Id(s):
add_action( 'template_redirect', 'ts_redirect_product_pages' );
function ts_redirect_product_pages() {
$categories = array('my-category-1', 'my-category-2');
if ( is_product() && has_term( $categories, 'product_cat' ) ) {
wp_safe_redirect( wc_get_cart_url() );
exit;
}
}
代码位于活动子主题(或活动主题)的 functions.php 文件中。它应该工作。
推荐阅读
- multithreading - 为什么多线程时间不等于 gunicorn 的单个处理时间?
- javascript - 十进制转换错误 - 16 个字符后返回错误答案
- vue.js - Vuetify 路由:更改页面内容难题
- c# - ClaimTypes.NameIdentifier 总是返回 null
- python - 如何将所选图像添加到 opencv2 中的 imread() 函数中
- javascript - 想要为电子邮件查询创建 SQL 查询生成器
- c# - 如何在构建机器上自动安装 UWP 应用程序以进行 UI 测试
- css - 中心反应原生视图
- laravel-6 - laravel 使用 JWTAuth 获取发件人 http 主机
- javascript - Google Chrome 中的引导卡渲染问题