2014-01-17 49 views
0

我想在我的WordPress博客中爲公衆隱藏某些類別,但可以通過登錄用戶查看。只顯示WordPress登錄用戶的具體類別

如果市民前往參觀的限制類別,他們應該能看到一個登錄框,他們必須登錄才能查看的分類

我的WordPress is_user_logged_in功能,但不知道如何使用它的這個目的。我應該添加到我的functions.php?

我曾嘗試這個代碼,但可以;噸得到它的工作:

add_action('init', 'check_redirect_page'); 

function check_redirect_page() { 
    if (!is_user_logged_in() && !is_category(177)) { 
     wp_redirect(home_url('/login')); 
     exit(); 
    } 
} 

沒有人有任何其他建議?它只是不會爲我工作:(

回答

0

一類模板

您可以開始建立一個類別模板類別要隱藏:

http://codex.wordpress.org/Category_Templates

例如category-slug.php

在此頁面上,您可以執行類似操作:

<?php if (is_user_logged_in()): ?> 
<?php 
    // start The Loop 
    // see http://codex.wordpress.org/The_Loop 
    if (have_posts()) : while (have_posts()) : the_post(); 
     the_content(); 
    // etc. 
    ?> 
    <?php endwhile; else: ?> 
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> 
    <?php endif; ?> 
<?php else: 
     wp_redirect(home_url('/login')); 
     exit();  
endif; ?> 

http://codex.wordpress.org/Function_Reference/is_user_logged_in http://codex.wordpress.org/Function_Reference/wp_login_url

而且我假設你想爲用戶登錄一個模式/彈出窗口。 對於你可以嘗試:

http://wordpress.org/plugins/wp-modal-login/http://wordpress.org/plugins/simplemodal-login/ - 雖然我沒有測試那些。

對於會員插件... http://wordpress.org/plugins/wp-members/你能成爲你的朋友嗎?

二,或者你可以嘗試(簡單的方法):

<?php 
add_action('init', 'check_redirect_page'); 

function check_redirect_page() { 
    if (!is_user_logged_in() && is_category(177)) { 
     wp_redirect(home_url('/login')); 
     exit(); 
    } 
} 
?> 

正如你說的這個代碼應該駐留在你的functions.php。

+0

我更喜歡functions.php解決方案,但該代碼說IF用戶登錄然後重新直接但我希望它是相反的方式。所以,如果用戶登錄,顯示它,但如果他們不是然後重定向 – Omar

+0

不,它說如果(!is_user_logged_in()...注意! - 它返回true,如果用戶沒有登錄。:) – Mike

+0

謝謝,讓我給這個鏡頭 – Omar

0

對於第二個解決方案的工作,取代[初始化]與[WP]

新代碼將作爲下:

/** 
* Make category members only and redirect non-members to login page. 
*/ 
add_action('wp', 'check_redirect_page'); 
function check_redirect_page() { 
    if (!is_user_logged_in() && is_category(91)) { 
     wp_redirect(home_url('/wp-admin')); 
     exit(); 
    } 
} 

更換與您的類別ID是和用您的網站登錄替換/wp-admin