質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

381閲覧

【WordPress】カテゴリの投稿記事一覧表示について

mst0

総合スコア9

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2023/03/22 11:17

実現したいこと

WordPressの記事一覧ページで各記事が属する親カテゴリのみを表示したいです。
また、カテゴリ名をクリックすると該当のカテゴリに属した記事のみの一覧ページを表示したいです。

前提

運用中のWordPressに少し手を加えたいと考えています。
記事一覧、記事詳細、カテゴリページ(category.php)は作成済みです。
記事一覧ページ(<div id="wpLoop">)、記事詳細ページ(<div id="wpSingle">)をindex.phpに記述しています。
1記事に親カテゴリ、子カテゴリを含む複数のカテゴリを設定しています。

上記を実現するためのソースコードを教えていただけないでしょうか。

下記ソース内に追記したいと考えています。

<div id="wpLoop"> <!--#mainimg--> <?php $paged = get_query_var( 'paged' ) ? : 1; $args = array( 'paged' => $paged, 'posts_per_page' => 20, ); $the_query = new WP_Query( $args ); $recodes = []; if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); $previousday = ''; $date = get_the_date( $the_query->ID ); $title = get_the_title( $the_query->ID ); $url = get_permalink( $the_query->ID ); $cats = get_the_category( $the_query->ID ); $cat = $cats[ 0 ]; $author = get_the_author( $the_query->ID ); $excerpt = get_the_excerpt( $the_query->ID ); if ( has_post_thumbnail() ) { $thumbnail = get_the_post_thumbnail_url( $the_query->ID, 'full' ); } else { $thumbnail = get_theme_file_uri() . "/img/no_img.png"; } ?> <div class="item <?php echo implode(" ", get_post_class()); //記事クラス ?> blog_bg"> <div class="thumb"> <a href="<?=$url?>"> <img src="<?=$thumbnail?>" width="100%"> </a> </div> <div class="rightBox"> <h2 class="blog_tit"><a href="<?=$url?>"> <?=$title?> </a></h2> <div class="meta"> <span class="post_date"> <?=$date?> </span> <span class="post_author">書いた人: <?=$author?> </span> </div> <div> </div> <div class="body"> <?=$excerpt?> <div class="btn_continue"> <a href="<?=$url?>">続きを読む</a> </div> </div> </div> </div> <!--.item--> <?php } //while } //if ?> </div>

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

$cat = $cats[ 0 ]; でその記事が属している最初のカテゴリが取得できているはずですので、

PHP

1$parent_cat = get_category( $cat->parent );

$catの親カテゴリが取得できます。

名前やslugが必要な部分に <?= $parent->cat_name; ?> <?= $parent->slug; ?>を出力するのが良いかと思います。

親カテゴリが未設定の可能性がある場合、 $cat->parent に値が入っているかのチェックも必要になります。

投稿2023/03/31 16:53

Eggpan

総合スコア2665

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問