2014-04-07 32 views
5

Bir wp sitem var ve sadece SINGLE POSTS (sayfaları değil, arşivleri vb.) Görüntülemeden önce giriş/kayıt yapmaya zorlamayı denemeye çalışıyorum.Wordpress Guest Giriş Mesajları görebilmek için üzerine tıklayın

// Redirect users who arent logged in... 
function login_redirect() { 

    // Current Page 
    global $pagenow; 

    // Check to see if user in not logged in and not on the login page 
    if(!is_user_logged_in() && $pagenow != 'wp-login.php') 
      // If user is, Redirect to Login form. 
      auth_redirect(); 
} 
// add the block of code above to the WordPress template 
add_action('wp', 'login_redirect'); 

bu işlevle sorun onlar/posta/vb herhangi bir sayfayı görüntülerken giriş için konuk yönlendirir olmasıdır:

Ben bu işlevi var. Birisi sadece bu tek gönderiyi görüntülemeye yönlendirmek için bu işlevi değiştirmeme yardımcı olabilir mi? sayesinde Iasmina

cevap

10

bu deneyin eğer başka koşullu etiket ekle: Ayrıca kontrol etmeniz gerekir

function login_redirect() { 
    // Current Page 
    global $pagenow; 

    // Check to see if user in not logged in and not on the login page 
     if (!is_user_logged_in() && $pagenow != 'wp-login.php' && is_single() && !is_home()) {    
    auth_redirect(); 
     } 
} 

// add the block of code above to the WordPress template 
add_action('wp', 'login_redirect'); 
+0

mükemmel. Bir çekicilik gibi çalışır. çok teşekkürler! – user3507955

+0

Harika, soldaki tıklamayı tıklayarak cevabımı kabul etmeyi unutmayın! –

0

açıklamada

if(!is_user_logged_in() && $pagenow != 'wp-login.php' && is_single()) 

is_single()

+0

sanki kendi ana sayfası ya da değil diye sadece bir posta sayfası durumunda yönlendirmek gerekiyor! –

+0

Tamamen doğru değil, "is_single" yalnızca ek ve yazı tipi dışındaki herhangi bir yazı türü için tek bir gönderi görüntüleniyorsa true değerini döndürür. – DNACode

İlgili konular