我想通过令牌访问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');
答案 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;
});