【发布时间】:2015-01-25 15:40:40
【问题描述】:
当用户单击产品页面上的添加到购物车时,我试图将用户重定向到上一个类别页面。但是在重定向时,我看到一个空白的 product_cat 属性。即example.com/?product_cat=
但是,如果我将其回显到woocommerce_product_thumbnail,它将完美地显示链接。即example.com/?product_cat=shoes
add_filter ('add_to_cart_redirect', 'redirect_to_previousCat');
//add_filter ('woocommerce_product_thumbnails', 'redirect_to_previousCat');
function redirect_to_previousCat() {
global $woocommerce, $post;
$product_cat_slug;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
$product_cat_slug = $term->slug;
break;
}
$url=get_site_url().'?product_cat='.$product_cat_slug;
return $url;
}
【问题讨论】:
-
你试过
print_r($post);吗?看看有没有价值…… -
@Reigel 是的,它在 woocommerce_product_thumbnails 上有值我用 print_r($url) 测试了它
-
我实际上认为
$post尚未设置。添加到购物车表单处理程序操作在init上运行。你可以在add_to_cart_redirect()过滤器中die(var_dump($post));看到这个。woocommerce_product_thumbnails()在$post设置后运行得更晚。对了,$product_cat_slug是什么?
标签: php wordpress woocommerce