
我自分でサイト構築場合、以下のような理由で他人にサイトの内容を見られたくないことがあります。1. 純粋な個人ブログで、他人に見られたくない。2. 社内サイトなど、関係者以外にアクセスされたくない。3. 特殊なリソースサイト。
では、もしあなたがWordPressで構築したウェブサイトであれば、簡単にWordPressプラグインを実装してWordPressログイン必須表示の機能。
以下はNaibaが皆さんに紹介する、実現するためのいくつかのプラグインです。WordPressで登録が必要な視聴を実現するいくつかのプラグインです。
Registered Users Only
Registered Users Only このプラグインはWP建站吧で見つけたもので、機能はシンプルです。インストールして有効化すると、登録・ログインしていない場合、すべてログイン画面にリダイレクトされます。
もし登録を開放したい場合は、「誰でも登録を許可する」にチェックを入れます。訪問者が一時的にサイトの内容にアクセスできるようにしたい場合は、「ゲストモード」にチェックを入れます。
Force Login
Force Login はさらにシンプルで、ダウンロードして有効化すると直接全サイトログイン必須表示機能が有効になります。個別の設定ページはなく、プラグインを有効化するとログインが必要になり、無効化するとログインなしでサイトの内容を閲覧できます。
My Private Site
My Private Siteは、リソースマーケティング系のサイトに適したプラグインです。未ログインユーザーをログインページにリダイレクトするだけでなく、ログインページや登録ページをカスタマイズできます。
さらに、My Private Siteの最も強力な点は、ページを除外できることです。トップページをログインなしで表示可能に設定したり、ログイン不要で表示できるページを追加できます。
また、ログインが必要な設定を有効にした場合、ログイン後に元のページにリダイレクトすることもサポートしています。
My Private Site の簡単な使用方法の紹介:
Private Site にチェックを入れると、ログインアクセスが有効になります。
Custom Login はログインページをカスタマイズするオプションです。
Visible Exclusions は除外ページのオプションです。
オンデマンドで表示/非表示
特定のコンテンツを表示したり非表示にしたりする方法を自分で設定したい場合は、Wicked Block Conditions
コードを使用する場合は以下の通りです
add_shortcode('hide','loginvisible');
function loginvisible($atts,$content=null){
if(is_user_logged_in() && !is_null($content) && !is_feed())
return $content;
return '';
}そして、記事内で [hide] と [/hide] で隠したいコンテンツを囲むだけで完了です。
単にトップページやカテゴリーページから記事を非表示にしたい場合は、以下を参照してください。WordPressでサイトのホームページまたはカテゴリーページから特定の記事を非表示にする方法
パスワード入力で表示
WordPressの記事やカテゴリー、またはサイト全体にパスワードを入力しないと閲覧・アクセスできないようにしたい場合は、この記事を参照してください:3つのWordPressサイトにパスワードが必要なプラグイン_パスワードでコンテンツを閲覧
コードを使用してカテゴリーのログイン必須表示を非表示にする
//template_redirect动作钩子是一定会执行的,所以用这个钩子对全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
//判断登录,about页面就允许访问
if( !is_page('about') && !is_user_logged_in() ){
auth_redirect(); //跳转到登录页面
exit();
}
}カテゴリーディレクトリをログイン必須にしたい場合は、以下のコードを使用してください。
// 首页和指定分类文章可以访问
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
//判断登录,只允许访问ID为3和2的分类文章
if( !in_category( array( '3','2' ) ) && !is_home() && !is_user_logged_in() ){
auth_redirect(); //跳转到登录页面
exit();
}
}!in_category の前の感嘆符は「否定」を意味し、つまり、カテゴリーIDが3と2でなく、トップページでもなく、ログインしていない場合、ログインページにリダイレクトします。
コードをテーマの関数テンプレート functions.php に追加すると有効になります。
注意点として、in_category は1階層のカテゴリーのみサポートします。サブカテゴリーがある場合は、すべて列挙するか、以下の判定を追加する必要があります。
if ( ! function_exists( 'post_is_in_descendant_category' ) ) {
function post_is_in_descendant_category( $cats, $_post = null ) {
foreach ( (array) $cats as $cat ) {
// get_term_children() accepts integer ID only
$descendants = get_term_children( (int) $cat, 'category' );
if ( $descendants && in_category( $descendants, $_post ) )
return true;
}
return false;
}
}その後、このように呼び出します
<?php if ( in_category( 'fruit' ) || post_is_in_descendant_category( 'fruit' ) ) {
// These are all fruits…
}
?>究極のプラグイン
上記の方法を試しても満足できないですか?Naibaが現在使用している解決策、強力な判定プラグインをご紹介します。
[vk-content]

この「Restrict User Access – Membership Plugin with Force」というプラグインは、複雑な条件判断が必要で、自分でコードを書き換えることができない方に最適です。

複数の条件を追加し、Membersでユーザーグループを設定し、Capabilitiesで権限を設定し、保存すれば有効になります。
[/vk-content]
