从项目中删除项目后, 单击”
撤消”
链接后如何重定向回/ cart?
我不担心购物车是否为空。我必须已经实现了template_redirect, 因此, 当用户从购物车中”
删除”
商品时, 它会重定向回购物车而不是首页。带有:
add_action( 'template_redirect', function( ) {
$_var = ( $_GET[ 'removed_item' ] ) ?? null;
//var_dump($_var);
if( $_var == '1' ){
wp_safe_redirect( '/cart', 301 );
die();
}
} );
我可以进行相同的动作吗?单击” 撤消” 按钮后, 我没有看到查询字符串。
【Woocommerce撤消删除项目重定向】编辑
我可以看到操作在哪里完成。它位于第536行附近的include / class-ws-form-handler.php插件中, 包含:
// Undo Cart Item
$cart_item_key = sanitize_text_field( $_GET['undo_item'] );
WC()->
cart->
restore_cart_item( $cart_item_key );
$referer= wp_get_referer() ? remove_query_arg( array( 'undo_item', '_wpnonce' ), wp_get_referer() ) : wc_get_cart_url();
wp_safe_redirect( $referer );
exit;
编辑2:将以下内容添加到上面的重定向中没有任何作用…
// undo the remove, redirect back to cart
if ( ! empty( $_GET['undo_item'] ) &
&
isset( $_GET['_wpnonce'] ) &
&
wp_verify_nonce( $_GET['_wpnonce'], 'woocommerce-cart' ) ) {
// Undo Cart Item
$cart_item_key = sanitize_text_field( $_GET['undo_item'] );
WC()->
cart->
restore_cart_item( $cart_item_key );
wp_safe_redirect( wc_get_cart_url() );
exit;
}
因此, 当我var_dump wp_get_referer()时, 我会返回该网站的主页, 这不是我想要的。我不想修改此文件, 因为它不是一个好主意… 所以, 我怎么能只修改操作呢?该函数本身是:公共静态函数update_cart_action()
#1所以… 我最终不得不做一些巫术来使它起作用。
这是钩子…
// undo the remove, redirect back to cart
// check if the cart is updated... if it is, proceed
$_cu = apply_filters( 'woocommerce_update_cart_action_cart_updated', true );
if( $_cu ) {
global $woocommerce;
if ( ! empty( $_GET['undo_item'] ) &
&
isset( $_GET['_wpnonce'] ) &
&
wp_verify_nonce( $_GET['_wpnonce'], 'woocommerce-cart' ) ) {
// item
$cart_item_key = sanitize_text_field( $_GET['undo_item'] );
// Get the cart
$woocommerce->
cart->
get_cart();
// restore the item
$woocommerce->
cart->
restore_cart_item( $cart_item_key );
// now do the redirect
wp_safe_redirect( wc_get_cart_url() );
exit;
}
}
应用于init事件
推荐阅读
- 设置posts_per_page时分页/page/2/的WordPress 404错误
- Woocommerce模板覆盖不起作用
- Woocommerce搜索结果显示了商店的所有产品
- Woocommerce-如何在单独的页面上显示订单详细信息(我的帐户)
- Woocommerce商店显示分类
- woocommerce显示带有缩略图的分类
- woocommerce分类图像加载到循环主题搜索(Mustang Lite主题)不起作用
- woocommerce如何获取当前分类
- #yyds干货盘点#还不理不清Vue.js目录结构(2分钟我来带你了解)