Masking logout URL

时间:2012-12-14 作者:kristina childs

主要目的是隐藏网站是由wordpress驱动的。我已经把登录部分都锁定了,但注销URL仍然有那些被破坏的内容wp 这是一个wordpress网站。

有没有办法屏蔽这个URL?可能通过客户端链接指向的自定义重定向的结合www.site.com/logout/ 但有些东西functions.php 重建实际注销链接?

我尝试过wp_logout_url(\'$index.php\') 但这只是重定向。我也试过了

add_filter( \'wp_logout_url\', \'cusotm_logout\' );
function cusotm_logout() 
{
    // set your URL here
    return \'http://www.site.com/logout/\';
}
这最后一个不仅不起作用,它还附加title= 到URL的结尾。我不确定注销是否因为这个原因而不起作用,或者函数本身是否完全是错误的方法。

我只有在绝对必要的情况下才使用插件。正在寻找自我管理的解决方案。。。无需mod_rewrite 如果可能的话。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

仅替换URL是不够的。你必须告诉WordPress如何处理新的URL。

示例代码,创建一个注销URL,如example.com/logout=1 并在用户注销后重定向到首页或自定义URL:

add_filter( \'logout_url\', \'t5_custom_logout_url\', 10, 2 );
add_action( \'wp_loaded\', \'t5_custom_logout_action\' );

/**
 * Replace default log-out URL.
 *
 * @wp-hook logout_url
 * @param   string $logout_url
 * @param   string $redirect
 * @return  string
 */
function t5_custom_logout_url( $logout_url, $redirect )
{
    $url = add_query_arg( \'logout\', 1, home_url( \'/\' ) );

    if ( ! empty ( $redirect ) )
        $url = add_query_arg( \'redirect\', $redirect, $url );

    return $url;
}

/**
 * Log the user out.
 *
 * @wp-hook wp_loaded
 * @return  void
 */
function t5_custom_logout_action()
{
    if ( ! isset ( $_GET[\'logout\'] ) )
        return;

    wp_logout();

    $loc = isset ( $_GET[\'redirect\'] ) ? $_GET[\'redirect\'] : home_url( \'/\' );
    wp_redirect( $loc );
    exit;
}
作为plugin on GitHub, 因为这是pure plugin territory. 你呢cannot really 隐藏WordPress。

它还将title=附加到URL的末尾

我想问题是这样的标记:

<a href="<?php echo wp_logout_url(); ?> title="Log out">Log out</a>
注意缺失".

结束

相关推荐

为什么$_REQUEST[‘REDIRECT_TO’]为空?

wp登录。php使用$\\u请求[\'redirect\\u to\']作为覆盖lostpassword链接重定向的方法。然而,出于某种原因,它似乎不起作用。可能是我的服务器环境,但$\\u REQUEST[\'redirect\\u to\']值未设置,即使我在URI中显式地将其作为GET变量传递。这是wordpress的事情还是我的托管环境的问题,还是我只是一个新手?我看到另一篇帖子,其中user@rarst提到WP实现了自己的逻辑行为,将请求作为GET和post的组合来执行。但我在wp登录和wp加载