wp_logout_url() 不重定向用户

wp_logout_url() not redirecting the user

我正在编写一个插件,它将在注销后重定向用户。如果用户提供 link,则将用户重定向到该位置,否则使用默认值 URL。这是我使用的代码。

echo esc_url(wp_logout_url( ud_logout_redirect() ));

这里是 ud_logout_redirect() 函数。

function ud_logout_redirect() {
        $redirect_link = '';
        $logoutOption = isset( ud_redirection_options()['logout_link_redirect'] ) ? ud_redirection_options()['logout_link_redirect'] : null;
        if (  ! $logoutOption == null ) {
            $redirect_link = apply_filters( 'filter_ud_logout_redirect', $logoutOption);
        }

        return $redirect_link;
    }

如果用户未提供 link,则 example.com 将是默认值,但 wp_logout_url() 不会重定向用户。但它将用户重定向到 wp-login.php

提前致谢

如果您想重定向另一个站点,您必须在 allowed_redirect_hosts 过滤器中添加该域。试试这个:

add_filter( 'allowed_redirect_hosts', 'ud_logout_redirect' );

function ud_logout_redirect( $allowed ) {
    $allowed[] = 'multisiteparent.com';
    return $allowed;
}
 
<a href="<?php echo wp_logout_url( 'http://multisiteparent.com' ); ?>">Logout</a>

要了解更多信息,请查看:https://developer.wordpress.org/reference/functions/wp_logout_url/