2017-03-14 7 views
0

Ich versuche meine Post Inhalte zu beschränken, nur um eingeloggte Mitglieder angezeigt werden. Hier ist der Code:wordpress login redirect caching post id

function my_page_template_redirect() 
{ 
    // $wp = get_queried_object(); 
    // echo "<pre>"; 
    // print_r($wp); 
    // echo "</pre>"; 
    if(is_singular('property')) 
    { 
     if(!is_user_logged_in()) 
     { 
      wp_redirect(get_permalink(103)); 
      exit(); 
     } 

    } 
} 
add_action('template_redirect', 'my_page_template_redirect'); 

Es funktioniert gut, aber das Problem ist. Wie gesagt, ich habe versucht, "Hello World" zu besuchen, es leitet mich auf die Login-Seite mit "TML Login Form Shortcode" Wenn ich mich anmelde es folgt TML-Umleitung und ich kann navigieren, um ich wollte lesen. Aber das Problem ist, ich kann nicht sehen, dass "Hallo Welt" nur posten, aber alle anderen vom selben Typ gleiche Einschränkung sehen können.

Scheint wie WordPress Speichern dieser Post ID. Vorschlag bitte

Antwort

0

Ich habe es funktioniert .. auth_rediect() hat den Trick. Ich ersetzte wp_redirect-auth_redirect()

So ist der endgültige Code lautet:

function my_page_template_redirect() 
{ 

    if(is_singular('property')) 
    { 
     if(!is_user_logged_in()) 
     { 
      auth_redirect(); 
     } 

    } 
} 
add_action('template_redirect', 'my_page_template_redirect');