WordPress ブログのホームページで特定のカテゴリの記事を除外する方法

WordPress ブログのホームページで特定のカテゴリの記事を除外する方法

今日、ある WordPress ブロガーが「WordPress ブログのホームページから特定のカテゴリの記事を除外するにはどうすればいいですか?」と質問しているのを見ました。ユーザーがこれを行いたい理由はさまざまです。ホームページに日常生活に関する記事ではなく、ニュース記事だけを表示したい場合もあるでしょう。

これを行うには、ループ内で記事を呼び出す関数を変更する必要があります。デフォルトの WordPress テーマ Twenty Ten と Twenty Eleven は、the_post() 関数を使用してすべてのブログ投稿を呼び出します。

<?php while ( have_posts() ) : the_post(); ?>

the_post() 関数は WP_Query を使用します。 WP_Query 関数自体を使用して、どの記事を呼び出すか、またはどのアーカイブ、カテゴリ、および時間の記事をホームページに表示するかをカスタマイズできます。

さらに、query_posts 関数を使用してループを制御することもできます。このアプローチは、ループをまったく変更しないため、間違いなく最善です。ただし、両方の方法を説明しますので、自分に合った方法を選択してください。

WP_Query関数の使用

ホームページの外観を変更したい場合は、テーマの index.php ファイルを編集する必要があります。ほとんどのテーマでは、カテゴリ、日付、タグの表示ページとして archive.php ファイルを使用しているため、アーカイブ ページを変更する場合は、archive.php ファイルを変更するだけです。一部のテーマには特別な category.php、date.php、tag.php テンプレートがあるため、対応するものを変更するだけです。

ほとんどのテーマ ファイルは、「ループの開始」でループを開始します。たとえば、Twenty Eleven テーマでは次のようになります。

<?php /* ループを開始します */ ?>
<?php while ( have_posts() ) : the_post(); ?>

これを次の関数に置き換える必要があります。

// クエリ
$query = 新しい WP_Query( $args );

// ループ
$query->have_posts() を実行した後、 $query->the_post() を実行します。

ループで表示される投稿を制御するには、WP_Queryでパラメータを定義する必要があります。つまり、

$query = 新しい WP_Query( $args );。

現在 5 つのパラメータがあり、最もよく使用されるのは cat と category_name です。

テクノロジー カテゴリを表示する場合、そのカテゴリ ID が 1 であれば、cat パラメータを使用できます。

$query = 新しい WP_Query( 'cat=1' );

または、category_name パラメータを使用して同じ効果を実現することもできます。

$query = 新しい WP_Query( 'category_name=tech' );

さらにカテゴリを追加する場合は、カンマで区切る必要があります。

$query = 新しい WP_Query( 'cat=1,7,121' );

または

$query = new WP_Query( 'category_name=ニュース、レビュー、チュートリアル' );

特定のカテゴリ内のすべての記事を除外するには、カテゴリ ID の前にマイナス記号を追加します。カテゴリを除外するために category_name パラメータを使用することはできないことに注意してください。

$query = 新しい WP_Query( 'cat=-1' );

前述のように、5 つのパラメーターがあり、そのうちの 2 つ、cat と category_name について説明しました。どちらも、記事のリストに特定のカテゴリを含めたり除外したりします。

他の 3 つのパラメータは、category_and、category_in、category_not_in です。

Category_and は複数のカテゴリの記事を表示します:

$query = 新しい WP_Query( 配列( 'category__and' => 配列( 1, 7 ) ) );

category_in は or 関数です:

$query = 新しい WP_Query( 配列( 'category__in' => 配列( 7, 127 ) ) );

複数のカテゴリを除外するには:

$query = 新しい WP_Query( 配列( 'category__not_in' => 配列( 2, 6 ) ) );

WP Query は非常に柔軟な機能です。カテゴリーはパラメータの 1 つに過ぎず、以下も使用できます。

著者パラメータ – 特定の著者または複数の著者による記事のリストを表示するか、または著者を除外します。

タグ パラメータ – 特定のタグが付いた投稿を表示または除外します。

分類パラメータ – 1 つ以上のカスタム分類の投稿のリストを表示します。 。

投稿とページのパラメータ – ID またはページスラッグを使用して特定の投稿を表示します。

タイプとステータスのパラメーター – 特定の投稿タイプの投稿や添付ファイル付きの投稿を表示します。

ページネーション パラメータ – ページごとに表示される記事の数を決定します。

オフセット パラメーター – 記事が表示され始める位置。

Order および Orderby パラメーター – 記事リストの並べ替え順序を変更します。

固定投稿パラメータ – 固定投稿を含む、または除外する投稿のリストを表示します。

時間パラメータ – 特定の期間の記事を表示します。

カスタム フィールド パラメーター – カスタム フィールドに関連する記事を表示します。

権限パラメータ – 公開済みまたは非公開の投稿を表示します。

WP_Query ページには各パラメータの例が記載されているので、ここでは使用方法について詳しく説明しません。

query_posts関数の使用

query_posts を使用すると、既存のループ コードを変更することなく、ページに表示される投稿を簡単にカスタマイズできます。

query_posts( $args );

この機能を使用するには、ループが開始する前に呼び出す必要があります。例えば:

// クエリ
query_posts( $args );

// ループ
have_posts() を実行した後、 the_post() を実行します。


ページで 2 番目のループを呼び出す予定の場合は、必ず wp_reset_query() を使用してループをリセットしてください。例えば:

// クエリ
<?php query_posts( $args ); ?>

<?php /* ループを開始します */ ?>
<?php while ( have_posts() ) : the_post(); ?>

<?php get_template_part( 'content', get_post_format() ); ?>

<?php endwhile; ?>
<?php wp_reset_query(); ?>


特定のカテゴリの投稿を表示するには、cat パラメータを使用する必要があります。

<?php query_posts( 'cat=1,5,6' ); ?>

同様に、特定のカテゴリを除外するには、前にマイナス記号を追加する必要があります。

<?php query_posts( 'cat=-3,-5' ); ?>

特定の記事を表示するためにも使用できます:

クエリ投稿( 'p=2' );

ページごとに表示する投稿数を定義するには、 posts_per_page パラメータを使用します。

query_posts( 'posts_per_page=5' );

詳細については、query_posts ページをご覧ください。

プラグインを使用して特定のカテゴリの記事を除外する

コーディングにあまり興味がない人のために、WordPress プラグインも利用できます。ここでは、Simply Exclude と Ultimate Category Excluder を使用することをお勧めします。

単純に除外する

Simply Exclude を使用すると、ホームページ、アーカイブ ページ、検索ページ、RSS で特定のカテゴリ、著者、タグの記事を除外したり含めたりすることができます。使い方も非常に簡単です。

究極のカテゴリー除外

Ultimate Category Excluder を使用すると、ホームページ、アーカイブ ページ、RSS から特定のカテゴリを簡単に除外できます。 Simply Exclude との違いは、特定のカテゴリのみを除外でき、著者やタグなどは除外できないことです。

要約する

Simply Exclude プラグインと Ultimate Category Excluder プラグインはどちらも優れていますが、ある程度のプログラミング知識がある場合は、手動で変更する必要があります。

オリジナルリンク: http://laygle.com/2012/01/wordpress-exclude-categories/

原題: WordPress ブログのホームページで特定のカテゴリの記事を除外する方法

キーワード: WordPress、ブログホームページ、ランク付けの方法、指定ポイント、記事、今日、ウェブマスター、ウェブサイト、ウェブサイトのプロモーション、収益化

<<:  龍年の始まりに起こる6つのホットな出来事: ドメイン名がお金を引き寄せる

>>:  Yahoo 外部リンク クエリが閉じられた後の新しい外部リンク クエリ

推薦する

Baidu Green Radish 2.0 リリース後の新規サイトの SEO 方法

多くの新規参入者の心の中では、SEO はオンライン プロモーションであり、オンライン プロモーション...

草の根ウェブマスターを起業家ウェブマスターに変える方法

サブタイトル: 草の根ウェブマスターが起業家的なウェブマスターに変身するには、独立した思考が不可欠な...

タオバオストアは、限られたタオバオトラフィックから外部トラフィックを継続的に拡大するにはどうすればよいでしょうか?

私は1年以上前からタオバオストアを運営しています。この間、ストアのトラフィックは数件から数十件に増加...

どのようなウェブサイトが Baidu で上位にランクされるのでしょうか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますウェブサイ...

ハッカーの儲かるビジネス:信仰なし、あるのは狂気だけ!

2011年12月21日朝、ハッカーが中国最大の開発者コミュニティであるCSDNのユーザーデータベース...

世界中の40の1桁ドメイン名の現状:約3分の1がパークページ

「短い」というのは、良いドメイン名を判断する基準の一つです。1桁のドメイン名には明らかな利点がありま...

地域ポータル運営経験の利益分配

前回は「ローカルポータルの運用経験と収益モデルの共有」をさせていただきましたが、今回はオンラインとオ...

ウェブサイトの最適化: 404 ページの作成方法と関連事項

SEO の経験が少しある SEO 担当者は、404 ページがウェブサイトで重要な役割を果たしているこ...

ビリビリと西瓜動画、どちらも中国のYouTubeにはなれない

2018年6月20日、インターネット動画コラム「CamLogic」が最後の動画を更新しました。 「イ...

エッジアプリケーションテクノロジーはあらゆる業界に利益をもたらす

エッジ コンピューティングは成熟しており、ある業界で学んだ教訓や開発されたソリューションを、別の業界...

2018 年のクラウド コンピューティング市場を振り返ると、変化は需要よりも大きいのでしょうか?

今年、徐々に成熟し、導入に向けて順調に進んでいるように見えるクラウドコンピューティングも、実は内部的...

マルチアクセス エッジ コンピューティング – パート 3: 近い将来に MEC を活用する 5 つの方法

上記を確認してください:マルチアクセス エッジ コンピューティング – パート 1: マルチアクセス...

ウェブサイトのキーワードの選択: 広くて具体的なキーワードと、狭くて一般的なキーワード

適切なウェブサイト キーワードを選択することは、ウェブマスターの願いとなっています。現在、多くのウェ...

より優れた指標、より優れたクラウドファースト戦略

クラウドファースト戦略のリスクとメリットは、大規模で複雑な IT 環境を持つ CIO にとって難しい...

ネットイースはポータル思考を使って広告を売るのではなく、インターネット思考を使ってワールドカップを巧みに操っている。

[2010年には早くも、大手ポータルサイトがワールドカップを利用してさまざまなマーケティング手法を採...