散らかったホームページやブログアーカイブは、訪問者を圧倒する可能性があります。すべての投稿を表示することが常に理想的とは限りません。特に、アナウンス、ランディングページ、または一般的な閲覧を意図していないその他のコンテンツがある場合です。
WordPressの投稿をパスワードで保護するかプライベートにするオプションがあります。しかし、場合によっては、ホームページから投稿を単純に非表示にする方が、直接リンクを持っている人が表示できるようにするよりも良い場合があります。
この記事では、ホームページ、カテゴリアーカイブ、検索結果などのWordPressの選択したページから投稿を非表示にする方法を説明します。

ホームページから投稿を非表示にするための2つの異なる方法を説明します。使用したい方法に直接ジャンプするには、以下のクイックリンクを使用できます。
方法1. プラグインを使用してWordPress投稿をホームページから非表示にする
この方法はより簡単で、初心者におすすめです。
まず最初に行うべきことは、WordPress Hide Posts プラグインをインストールして有効化することです。詳細については、WordPress プラグインのインストール方法に関するステップバイステップガイドをご覧ください。
プラグインを有効化したら、非表示にしたい投稿を編集してください。エディターの右側の列に新しい「投稿を非表示」セクションが表示されます。

クリックするとプラグインオプションが表示されます。フロントページやブログページ、カテゴリまたはタグページ、著者ページ、サイト検索結果で投稿を非表示にできます。
好みのオプションを選択して、投稿を保存するだけです。
選択したオプションによっては、これらのページにアクセスすると、その特定の投稿は一覧に表示されなくなります。
直接の投稿URL(パーマリンク)を持つすべてのユーザーは、URLを入力することで引き続き表示できます。
この方法は最も簡単ですが、いくつかの強力なオプションが欠けています。
例えば、ページやWooCommerce製品のようなカスタム投稿タイプを非表示にすることはできません。また、WordPress RSSフィードから投稿を非表示にするオプションもありません。
方法2. WordPressの投稿とページを手動で非表示にする
この方法では、WordPressサイトにコードを追加する必要があります。以前にこれを行ったことがない場合は、WordPressにWeb上のスニペットをコピー&ペーストする方法に関するガイドを参照してください。
WordPressは、ユーザーが表示しているページに基づいて投稿を取得して表示するために、データベースクエリを使用します。また、実行前にクエリを変更するための組み込みフックも提供しています。
これらのフックを使用してWordPressのクエリを変更し、WordPressの投稿、ページ、カスタム投稿タイプを異なるセクションに非表示にします。
コードスニペットプラグインを使用してカスタムコードを追加できます。これは最も安全なオプションであり、サイトを壊しません。あるいは、カスタムコードをテーマのfunctions.phpファイルまたはサイト固有のプラグインに追加することもできます。
非表示にしたい投稿またはページのIDも必要になります。WordPressで投稿IDを見つける方法に関する簡単なチュートリアルがあります。この情報を取得する方法を示しています。
基本的に、ブラウザのアドレスバーでIDを表示するために、投稿またはページを編集するだけで済みます。

それでは、コードの部分に入りましょう。
WordPressの投稿またはページをホームページから非表示にする
以下のコードは、is_home() 条件付きタグを使用して、ユーザーがホームページを表示しているかどうかを判断します。もしそうであれば、クエリから投稿IDを除外します。
function wpb_exclude_from_home($query) {
if ($query->is_home() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_home');
除外したい投稿またはページの実際のIDを配列内のIDに置き換えることを忘れないでください。
再度、WPCodeのようなコードスニペットプラグインを使用して、このコードをWordPressに簡単かつ安全に追加することをお勧めします。WPCode。
開始するには、無料のWPCodeプラグインをインストールして有効化する必要があります。手順については、WordPressプラグインのインストール方法に関するこのガイドを参照してください。
プラグインをアクティブ化したら、WordPressダッシュボードから「コードスニペット」メニュー項目をクリックします。次に、「新規追加」ボタンをクリックします。

次に、スニペットライブラリで「カスタムコードを追加(新規スニペット)」オプションを見つけ、その下にある「+カスタムスニペットを追加」ボタンをクリックします。

そこから、画面に表示されるオプションのリストからコードタイプを選択する必要があります。
このチュートリアルでは、コードタイプとして「PHPスニペット」を選択します。

次に、「カスタムスニペットの作成」ページに移動します。まず、スニペットのタイトルを追加できます。これは、コードが何のためかを覚えておくのに役立つものであれば何でも構いません。
その後、上記のコードを「コードプレビュー」ボックスに貼り付けるだけです。

最後に、トグルを「非アクティブ」から「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックします。

次に、WordPressの投稿やページを非表示にするための追加オプションをいくつか紹介します。WordPressでこれらのコードスニペットを追加するには、上記と同じ手順に従って、WPCodeを使用できます。
WordPressの投稿またはページをRSSフィードから非表示にする
WordPressのホームページとWordPressのRSSフィードの両方から投稿を非表示にしたい場合は、コードでis_feed条件付きタグを使用するだけです。
function wpb_exclude_from_feed($query) {
if ($query->is_feed() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_feed');
さて、管理者の権限でログインしていて WordPress の RSS フィードにアクセスしようとした場合、そこには投稿がリストされているのが見えるでしょう。他のユーザーは、RSS フィードを表示したときに除外された投稿を見ることはできません。
WordPressの投稿またはページをサイト検索から非表示にする
特定の投稿をWordPressサイトの検索結果から非表示にしたい場合はどうすればよいですか? そのためには、is_search 条件付きタグをコードに追加するだけです。
function wpb_exclude_from_search($query) {
if ( $query->is_search() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_search');
これで、ウェブサイトにアクセスして非表示にしたい投稿を検索できます。これらの投稿は公開されていますが、検索結果には表示されません。

WordPressの投稿またはページをアーカイブから非表示にする
カテゴリ、タグ、日付アーカイブなどのアーカイブページから特定のWordPress投稿やページを非表示にするのはどうでしょうか? そのためには、is_archive() 条件付きタグを使用します。
function wpb_exclude_from_archives($query) {
if ( $query->is_archive() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_archives');
WordPressの投稿またはページをすべてから非表示にする
ここまでで、WordPressの投稿やページを特定の場所から非表示にする方法を学びました。では、WordPressの投稿をこれらのすべての場所から一度に完全に非表示にするにはどうすればよいでしょうか?
これを行うには、以前に使用したすべての条件付きタグを1つのコードスニペットにまとめることができます。
function wpb_exclude_from_everywhere($query) {
if ( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_everywhere');
このコードは、ホームページ、RSSフィード、検索結果、アーカイブページから指定された投稿を非表示にします。
WordPressでのコンテンツ表示の制御
上記の2つの方法でWordPressの投稿やページを非表示にすることができます。しかし、その前に、WordPressでのコンテンツ表示制御オプションに関する最もよくある質問にもお答えします。
これらの方法はコンテンツを完全に非表示にしますか?
いいえ、そうではありません。
例えば、非表示にする前に検索エンジンが投稿をクロールしてインデックスを作成している可能性があります。検索エンジンを防ぎたい場合は、WordPressのページをGoogleから非表示にする方法に関するガイドを参照してください。
WordPressプラグインがカスタムクエリを使用して、チェックをスキップして非表示にしようとしているコンテンツを公開する場合、これも機能しません。
より良いアプローチは、投稿をパスワード保護することです。これにより、パスワードを持つユーザーのみが表示できるようになります。
プライベート投稿を作成することもできます。これは、ウェブサイトの管理者、編集者、および作成者のみが表示できます。
これらの方法を使用して特定のユーザー向けのコンテンツを作成できますか?
いいえ、これらの方法では特定のユーザーと効率的にコンテンツを共有することはできません。より良いアプローチは、WordPressメンバーシッププラグインを使用することです。
MemberPressのようなメンバーシッププラグインを使用すると、制限付きコンテンツを作成して公開できます。プレミアムコンテンツへのアクセスを販売するサブスクリプションプランを販売することもできます。
詳細については、ステップバイステップの手順でWordPressメンバーシップサイトを作成する方法に関するガイドをご覧ください。
この記事が、WordPressの投稿をホームページやその他のウェブサイトの領域から非表示にする方法を学ぶのに役立ったことを願っています。また、WordPressサイトを完全にプライベートにする方法に関するガイドや、WordPress向けの人気の投稿プラグインのベストに関する専門家の選び方もご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

イジー・ヴァネック
プラグインのヒントをありがとう。私は個人的にCategory Excluderプラグインを使用していますが、それはホームページからカテゴリ全体を削除してしまい、それは常に私にはうまくいきません。私はあなたのプラグインを試してみます。そうすれば、カテゴリ全体を選択するのではなく、個々の記事だけを選択すれば済みます。それは私にはるかに適しています。
Amit
このプラグインで投稿を非表示にすると、検索エンジンが投稿をクロールしたりインデックスに登録したりするのを防ぐことができますか?投稿のGoogle検索を防ぐことができますか?教えてください。
WPBeginnerサポート
いいえ、そうではありません。これは、投稿がクロールされるのを防ぐのではなく、ホームページから投稿を除外するためのものです。
管理者
ナジーブ・ミランニ
とても参考になりました、ありがとうございます!
WPBeginnerサポート
You’re welcome
管理者
Rakesh
ホームページの最新投稿セクションからのみ特定の投稿を非表示にし、サイドバーの最近の投稿ウィジェットからは非表示にしない方法はありますか?
WPBeginnerサポート
この記事のプラグイン方法を使用したいようですね。
管理者
Dale
このプラグインはもう機能しません。代替品を探しましたが、まだ見つかっていません。この投稿の更新を希望します。
WPBeginnerサポート
お知らせいただきありがとうございます。このプラグインを確認し、この記事を更新いたします。
管理者
ジノ
プラグインが最新のWordPressアップデートで動作しなくなりました。この記事を更新する時期です!
WPBeginnerサポート
お知らせいただきありがとうございます。代替案を検討いたします。
管理者
Sheila
私も代替案に興味があります。このプラグインはまさに私が求めていたものでした。
ケルシー
上記のPHPスニペットを使用して、子テーマのfunctions.phpファイルに貼り付けるだけです。私が投稿を非表示にしたのはその方法です。
Daniel
私の唯一の不満は、投稿が表示されないにもかかわらず、カテゴリメニューのカテゴリ投稿数がインクリメントされることです。それ以外は完璧です。
Adri
とても参考になりました、ありがとうございます!
ダダ
こんにちは、Googleは非表示の投稿をまだインデックスできますか?Google検索で私の投稿を検索できるようにしたいのですが、フロントページには表示させたくありません。
Raj
ホームページからページ1 2 3 4 5 6 7…………最後のページを削除する方法
キャンベル
こんにちは、ブログの投稿はブログページには表示したまま、ホームページには非表示/削除したいと考えています。プラグインをダウンロードして指示に従いました。「フロントページから非表示」にチェックを入れると、ホームページではなくブログページからブログ投稿が削除されてしまい、私が望むこととは逆の結果になりました。これを達成するにはどうすればよいですか?よろしくお願いします!
テッド・バーグマン
この非常に価値のあるサイトをありがとうございます!WordPress で何かを行う方法を知る必要があるときは、まずここにアクセスします。通常、最も優れていて理解しやすい回答があります。
Gregory
チュートリアル通りに動作します。WP 4.8
ジェイソン
The issue with the plugin is that if you want to have a category page show posts, then you have to leave that unchecked and “recent posts” will then pick it up and show up in all your side bars and footers
Munna Hossain
これは本当に素晴らしいプラグインです。私には機能します。しかし、なぜ管理者がこのプラグインを更新しないのか分かりません。まだ正常に動作しています。
素晴らしい記事をありがとうございます。
コーティングされた錠剤
これは私の側で機能しないので、特定の投稿を非表示にする別の方法はありますか?
テーマ上のコードをいくつか変更する必要がある場合、簡単なチュートリアルも役立つかもしれません。
ありがとう
マリオ・フォン・ゴラッツ
問題は、WP Hide Postの実際の代替手段がないことです。あるいは、代替手段はありますか?また、WP Hide Postはかなり古いように見えます(しばらく更新されていません)。
シャキール・ハッサン
こんにちは、
ブログ記事の1つをホームページから非表示にしましたが、それでも他のブログ記事の下にある「関連記事」セクションに表示されています。
どうすれば削除できますか?
WPBeginner、あなたの回答が必要です。
ありがとうございます。
スコット
他のオプションは、非表示にするというよりは、後日公開するように再スケジュールすることです。それは実質的に同じことをすると思います…少なくとも私のサイトでは今そうでした。
Allie Mackin
Scottが提案したように、投稿を後日の日付に再スケジュールしました。このアプリをダウンロードしてインストールする手間をかけましたが、機能しませんでした。私がしなければならなかったのは、将来の日付に再スケジュールすることだけでした。アプリなしでミッション達成。
Roshan Roy
管理画面でWP HIDE POSTプラグインによって非表示にされた投稿をフィルタリングする方法。
スティーブン・ウォーカー
コメント者:
まさに探していた答えです。
wpBeginners様、ありがとうございます
Dawn Cunnane
カテゴリメニューから1つの投稿を非表示にするためにこれが必要でした。そしてそれは魔法のように機能しました、ありがとう!
TW
このプラグインは2年間更新されていません。推奨されていることに驚いています。
Arevico
これは、プラグインの領域ではなくWordPressコアにあった方が良いものの完璧な例です。通常、私は自分でテーマを開発し、カテゴリを使用してこれを解決します。例えば、「ホーム」カテゴリの最新の投稿のみを表示したり、「非表示」カテゴリに表示しないようにしたりします。自分でテーマを開発しない場合、このプラグインは非常に役立ちます。
ブライアン・ジャクソン
同意します、Arevicoさん。これは間違いなくWordPressコアの一部になっているはずです。今週の例…私はマーケティングブログを運営していますが、スタンディングデスクのレビューをしています。読者のニッチから少し外れているので、ホームページに表示されないようにして公開しています。それに対してランク付けしたいのですが、読者を失いたくはありません。