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

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

それをクリックすると、プラグインオプションが表示されます。フロントページやブログページ、カテゴリやタグページ、作成者ページ、サイトの検索結果で投稿を非表示にすることができます。
好みのオプションを選択して、投稿を保存するだけです。
選択したオプションによっては、これらのページにアクセスすると、その特定の投稿は一覧に表示されなくなります。
直接の投稿URL(パーマリンク)を知っているすべてのユーザーは、URLを入力することで引き続き表示できます。
この方法は最も簡単ですが、いくつかの強力なオプションが欠けています。
たとえば、ページやWooCommerceの商品のようなカスタム投稿タイプを非表示にすることはできません。WordPress RSSフィードから投稿を非表示にするオプションもありません。
方法2. WordPressの投稿とページを手動で非表示にする
この方法では、WordPressサイトにコードを追加する必要があります。以前にこれを行ったことがない場合は、WordPressでコードスニペットをコピーして貼り付ける方法のガイドをご覧ください。
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プラグインをインストールして有効化する必要があります。手順については、WordPressプラグインのインストール方法に関するこのガイドをご覧ください。
プラグインをアクティブ化したら、WordPressダッシュボードから「コードスニペット」メニュー項目をクリックします。次に、「新規追加」ボタンをクリックします。

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

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

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

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

次に、WordPressの投稿またはページを非表示にするための追加オプションをいくつか紹介します。WPCodeを使用してWordPressにこれらのコードスニペットを追加するために、上記と同じ手順に従うことができます。
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でのコンテンツ表示制御オプションに関する最もよくある質問にもお答えします。
これらの方法はコンテンツを完全に非表示にしますか?
いいえ、そうではありません。
たとえば、検索エンジンは、非表示にする前に投稿をクロールしてインデックスに登録している可能性があります。検索エンジンを防ぎたい場合は、GoogleからWordPressページを非表示にする方法のガイドをご覧ください。
WordPressプラグインがカスタムクエリを使用して、チェックをスキップして非表示にしようとしているコンテンツを公開する場合、これも機能しません。
より良いアプローチは、投稿をパスワードで保護することで、パスワードを持つユーザーのみが表示できるようにすることです。
また、プライベート投稿を作成することもできます。これは、ウェブサイトの管理者、編集者、作成者のみが表示できます。
これらの方法を使用して特定のユーザー向けのコンテンツを作成できますか?
いいえ、これらの方法では特定のユーザーとコンテンツを効率的に共有することはできません。WordPressメンバーシッププラグインを使用する方が良いでしょう。
MemberPressのようなメンバーシッププラグインを使用すると、制限されたコンテンツを作成および公開できます。プレミアムコンテンツへのアクセスをサブスクリプションプランで販売することもできます。
詳細については、WordPressメンバーシップウェブサイトの作成方法に関するガイドをご覧ください。ステップバイステップの手順が含まれています。
この記事が、WordPressの投稿をホームページやウェブサイトの他のエリアから非表示にする方法を学ぶのに役立ったことを願っています。また、WordPressサイトを完全にプライベートにする方法に関するガイドや、WordPressで最も人気のある投稿プラグインの専門家による選び方もご覧ください。
この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterやFacebookでも私たちを見つけることができます。

イジー・ヴァネック
プラグインのヒントをありがとう。私は個人的にCategory Excluderプラグインを使用していますが、それはホームページからカテゴリ全体を削除してしまい、それは常に私にはうまくいきません。私はあなたのプラグインを試してみます。そうすれば、カテゴリ全体を選択するのではなく、個々の記事だけを選択すれば済みます。それは私にはるかに適しています。
アミット
このプラグインで投稿を非表示にすると、検索エンジンが投稿をクロールしたりインデックスに登録したりするのを防ぐことができますか?投稿のGoogle検索を防ぐことができますか?教えてください。
WPBeginnerサポート
いいえ、そうではありません。これは、投稿がクロールされるのを防ぐのではなく、ホームページから投稿を除外するためのものです。
管理者
ナジーブ・ミランニ
とても参考になりました、ありがとうございます!
WPBeginnerサポート
You’re welcome
管理者
ラケシュ
ホームページの最新投稿セクションからのみ特定の投稿を非表示にし、サイドバーの最近の投稿ウィジェットからは非表示にしない方法はありますか?
WPBeginnerサポート
この記事のプラグイン方法を使用したいようですね。
管理者
デール
このプラグインはもう機能しません。代替品を探しましたが、まだ見つかっていません。この投稿の更新を希望します。
WPBeginnerサポート
お知らせいただきありがとうございます。このプラグインを確認し、この記事を更新いたします。
管理者
ジノ
プラグインが最新のWordPressアップデートで動作しなくなりました。この記事を更新する時期です!
WPBeginnerサポート
お知らせいただきありがとうございます。代替案を検討いたします。
管理者
シーラ
私も代替案に興味があります。このプラグインはまさに私が求めていたものでした。
ケルシー
上記のPHPスニペットを使用して、子テーマのfunctions.phpファイルに貼り付けるだけです。私が投稿を非表示にしたのはその方法です。
ダニエル
私の唯一の不満は、投稿が表示されないにもかかわらず、カテゴリメニューのカテゴリ投稿数がインクリメントされることです。それ以外は完璧です。
アドリ
とても参考になりました、ありがとうございます!
ダダ
こんにちは、Googleは非表示の投稿をまだインデックスできますか?Google検索で私の投稿を検索できるようにしたいのですが、フロントページには表示させたくありません。
Raj
ホームページからページ1 2 3 4 5 6 7…………最後のページを削除する方法
キャンベル
こんにちは、ブログの投稿はブログページには表示したまま、ホームページには非表示/削除したいと考えています。プラグインをダウンロードして指示に従いました。「フロントページから非表示」にチェックを入れると、ホームページではなくブログページからブログ投稿が削除されてしまい、私が望むこととは逆の結果になりました。これを達成するにはどうすればよいですか?よろしくお願いします!
テッド・バーグマン
この非常に価値のあるサイトをありがとうございます!WordPress で何かを行う方法を知る必要があるときは、まずここにアクセスします。通常、最も優れていて理解しやすい回答があります。
グレゴリー
チュートリアル通りに動作します。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、あなたの回答が必要です。
ありがとうございます。
スコット
他のオプションは、非表示にするというよりは、後日公開するように再スケジュールすることです。それは実質的に同じことをすると思います…少なくとも私のサイトでは今そうでした。
アリー・マッキン
Scottが提案したように、投稿を後日の日付に再スケジュールしました。このアプリをダウンロードしてインストールする手間をかけましたが、機能しませんでした。私がしなければならなかったのは、将来の日付に再スケジュールすることだけでした。アプリなしでミッション達成。
ロシャン・ロイ
管理画面でWP HIDE POSTプラグインによって非表示にされた投稿をフィルタリングする方法。
スティーブン・ウォーカー
コメント者:
まさに探していた答えです。
wpBeginners様、ありがとうございます
Dawn Cunnane
カテゴリメニューから1つの投稿を非表示にするためにこれが必要でした。そしてそれは魔法のように機能しました、ありがとう!
TW
このプラグインは2年間更新されていません。推奨されていることに驚いています。
アレヴィコ
これは、プラグインの領域ではなくWordPressコアにあった方が良いものの完璧な例です。通常、私は自分でテーマを開発し、カテゴリを使用してこれを解決します。例えば、「ホーム」カテゴリの最新の投稿のみを表示したり、「非表示」カテゴリに表示しないようにしたりします。自分でテーマを開発しない場合、このプラグインは非常に役立ちます。
ブライアン・ジャクソン
同意します、Arevicoさん。これは間違いなくWordPressコアの一部になっているはずです。今週の例…私はマーケティングブログを運営していますが、スタンディングデスクのレビューをしています。読者のニッチから少し外れているので、ホームページに表示されないようにして公開しています。それに対してランク付けしたいのですが、読者を失いたくはありません。