2

トークンを介して 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');
4

1 に答える 1

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;
});
于 2012-11-17T19:31:53.673 に答える