我正在尝试在 woocommerce 中实现自定义注销而不需要注销确认。
我创建了一个页面并添加了这段代码。并将此页面的链接添加到菜单。但它不起作用。
session_start();
session_destroy();
header("Location:http://www.liberatium.com/");
最佳答案
发生确认是因为您在 URL 中缺少必要的随机数,正在 wp-login.php 中进行检查
case 'logout' :
check_admin_referer('log-out');
...
使用 wp_logout_url 来检索包含 nonce 的 URL。如果您想重定向到自定义 URL,只需将其作为参数传递即可。
<a href="<?php echo wp_logout_url('http://www.liberatium.com/') ?>">Log out</a>
如果这不起作用意味着,在 functions.php 中添加以下函数并尝试上面的代码...
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
function logout_without_confirm($action, $result)
{
/**
* Allow logout without confirmation
*/
if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
$redirect_to = isset($_REQUEST['redirect_to']) ?
$_REQUEST['redirect_to'] : '';
$location = str_replace('&', '&', wp_logout_url($redirect_to));;
header("Location: $location");
die();
}
}
关于wordpress - Woocommerce 自定义注销无需确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44879163/