0

我正在编写一个插件,它将在注销后重定向用户。如果用户提供链接,则将用户重定向到该位置,否则使用默认 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;
    }

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

提前致谢

4

1 回答 1

1

如果要重定向另一个站点,则必须在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/

于 2020-12-05T13:23:40.910 回答