wordpress受保护的页面

时间:2012-11-17 18:40:51

标签: php wordpress protected

我想通过令牌访问WordPress受保护的页面。方案是:我在URL中传递一个令牌,而不是检查所请求的是否是一个页面,如果是,页面是否受保护,如果是,则检查URL是否有令牌,如果它已检查令牌是否匹配或不

更新

我找到的解决方法,并在我的案例中工作

    function check_token() {
        if (post_password_required() && (!empty($_GET['token'])) ){
            if($_GET['token'] == 'test'){
             global $post;
                $post->post_password=null;
            }
        }
    }

add_action('wp_head','check_token');

1 个答案:

答案 0 :(得分:0)

在循环之前在页面模板的顶部尝试此操作:

if( get_query_var( 'token' ) == 'xyz' )
    query_posts( 'post_status' => array( 'publish', 'any' ) );

我找不到帖子状态对应“受保护” - 受保护如何?在列表中找到实际的帖子状态,并用它替换“any”:http://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters

以下是注册'令牌'的方法:

add_filter( 'query_vars', function( $query_vars ) {
    $query_vars[] = 'token';
    return $query_vars;
});