我有一个 WordPress 联属网站,我需要为联属网站添加一个链接,以便能够在登录时注册下线,但由于登录用户无法访问 WordPress 注册表单,我正在尝试创建一个函数来记录用户点击按钮即可退出,并使用联属推荐链接重定向到注册页面。 到目前为止我有这个代码
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
function logout_without_confirm($action, $result)
{
$user = wp_get_current_user();
if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
$redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : '/join-now/?ref=echo".$user->user_login."';
$location = str_replace('&', '&', wp_logout_url($redirect_to));
header("Location: $location");
die;
}
}
当我单击按钮时,它会注销,但我无法获取 URL 中的用户 ID。请给我一些帮助,我将不胜感激
我希望当我点击添加会员按钮时,它会注销当前用户并重定向到会员推荐链接,以便他的 ID 被捕获为推荐人。
您可以使用功能
wp_logout_url()
,现在您需要允许URL重定向:
add_filter( 'allowed_redirect_hosts', 'allow_redirect' );
function allow_redirect( $allowed ) {
$allowed[] = 'externalsite.com';
return $allowed;
}
然后,在链接中使用
wp_logout_url()
:
<a href="<?php echo wp_logout_url( 'https://externalsite.com' ); ?>">Logout</a>
更多信息:https://developer.wordpress.org/reference/functions/wp_logout_url/