【WordPress】カスタム投稿タイプと通常の投稿を混合して使うためのコード3つ

公開日:2016年1月10日 使い方など
パソコン

それぞれ独立した「投稿の集まり」が作れるカスタム投稿タイプですが、テンプレートだけ切り分けて使ったり、通常の記事にある「カテゴリー」の代わりにカスタム投稿タイプを作ったりする機会もあると思います。

切り分けはしているけど記事の一覧やカテゴリー・タグの一覧を表示した際には訪問者に対してすべて混ぜた上で表示させたいということがあるのではないでしょうか?これを解消するためのコードを紹介します。

すべてfunctions.phpにコードを追加するだけです。

新着記事にカスタム投稿タイプの記事を含める

通常の記事とは別にカスタム投稿タイプ毎の記事一覧を表示してもいいとは思うのですが、どうせなら通常の記事一覧とカスタム投稿タイプの記事を混ぜて表示した方がサイトの新鮮さが伝わるというもの。これを行うには以下のコードをfunctions.phpへ追加して実装します。

function chample_latest_posts( $wp_query ) {
    if ( is_home() && ! isset( $wp_query->query_vars['suppress_filters'] ) ) {
        $wp_query->query_vars['post_type'] = array('カスタム投稿タイプ名1', 'カスタム投稿タイプ名2');
    }
}
add_action( 'parse_query', 'chample_latest_posts' );
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


「カスタム投稿タイプ名」のところにカスタム投稿タイプのスラグを入れて完了、たくさんある場合はカンマで区切って増やせばいい。

2つのプラグイン+αでフロントエンドから投稿できる「ゲストブック」を簡単に作る方法

【WordPress】選択した投稿だけをエクスポートする方法

【WordPress】無料でドロップシッピングを使ったショップサイトを作る④


カテゴリーアーカイブにカスタム投稿タイプの記事を含める

カスタム投稿タイプを追加した際に今まで使っていたカテゴリーと共有する設定をした場合、カテゴリー一覧ページが表示されたときには投稿もカスタム投稿タイプも混ぜて表示をしたいというときのカスタマイズです。

これを行うには以下のコードをfunctions.phpへ追加して実装します。

function add_post_category_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_category()) {
$wp_query->set( 'post_type', array('post','カスタム投稿タイプ名'));
}
}
add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


「カスタム投稿タイプ名」のところにカスタム投稿タイプのスラグを入れて完了、たくさんある場合はカンマで区切って増やせばいい。

タグアーカイブにカスタム投稿タイプの記事を含める

カスタム投稿タイプを追加した際に今まで使っていたタグと共有する設定をした場合、タグ一覧ページが表示されたときには投稿もカスタム投稿タイプも混ぜて表示をしたいというときのカスタマイズです。これを行うには以下のコードをfunctions.phpへ追加して実装します。

function add_post_tag_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_tag()) {
$wp_query->set( 'post_type', array('post','カスタム投稿タイプ名'));
}
}
add_action( 'pre_get_posts', 'add_post_tag_archive' , 10 , 1);
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


「カスタム投稿タイプ名」のところにカスタム投稿タイプのスラグを入れて完了、たくさんある場合はカンマで区切って増やせばいい。

functions.phpへコードを追加するには

直接テーマ編集から追加してもいいのですが、Wordpressを動作させる上で重要なファイルでもありますので直接編集するのはちょっとリスクがあります。functions.phpに不具合が起こると画面が真っ白になって管理画面、表示画面共アクセス不能となることもあります。そうならないためにも直接編集する場合には正常に機能している状態のファイルを必ずバックアップするようにしてください。

不具合の防止やfunctions.phpへのコード追加をより安全に行えるプラグインもありますので頻繁に変更したりテストしたりする機会のある方や、直接ファイルを変更するのに躊躇する方はこちらを使った方がいいと思います。

このページを紹介いただいているサイト

 インターネットの世界はネットワークが命。私の拙いページをご紹介いただいているありがたいサイト様へ少しでも恩返しを・・ということでサイトへのリンクを張らせていただきます。ぜひご覧ください。

※Google Analyticsでのリファラアクセスデータを元にリンクさせていただいております(リンクを張っていただいている方でも本ページへアクセスのないサイト様は残念ながら掲載できておりません)

※リンクを張っていただいているサイト様でも長期間本ページへのアクセスがない場合にはリンクを解除させていただく場合があります

ひまあーと(管理人)
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報