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

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

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

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

Q&A

解決済

2回答

878閲覧

WPカスタム投稿タイプの、最新カテゴリ(もしくは最新記事の入っているカテゴリ)一覧を表示したい

shigeo_mori

総合スコア12

WordPress

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

0グッド

0クリップ

投稿2018/11/01 12:19

編集2018/11/01 12:40

前提・実現したいこと

WPで、カスタム投稿タイプを作成しました。
便宜上カテゴリーを 年代 にしています。

最新の年代(最新のカテゴリ)一覧を自動で取得、表示したいのです。

最新のカテゴリ=一番大きなカテゴリid でしょうか。。。
最新記事の入っているカテゴリ一覧を表示、でもいいです。

初心者なものですみません、maxとか組み合わせるのかなとか思ったのですが、
php関数に疎く、、、
どなたかご教授いただけましたら幸いです。

どうぞよろしくお願いいたします。

該当のソースコード

php

1 <!--特定カテゴリは表示できたのですが、これを最新カテゴリにしたいです。--> 2 <h2><?php single_term_title(); ?>)年</h2> 3 <?php if (have_posts()) : ?> 4 <?php while (have_posts()) : the_post(); ?> 5 <div class="article2"> 6 <p class="date"><?php the_time('n月j日'); ?></p> 7 <div class="inline_b"> <h2><?php the_title(); ?></h2> 8 <?php the_content(); ?></div> 9 </div> 10 <?php endwhile; ?> 11 12 <?php else: ?> 13 <div class="article2"> 14 <p>この年代のお知らせはありません</p> 15 <!-- /.article --></div> 16 <?php endif; ?> 17

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

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

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

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

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

m.ts10806

2018/11/01 12:26

「WordPress」をタグに追加しておいてください。確かにPHPでできていますが独自に組み込まれた機能も多くPHPのみの言語知識では対応しきれないことが多いです(PHPは少しは自信がある私もWordPressはほとんどわかりません)
guest

回答2

0

カテゴリやカスタムタクソノミーを取得するのは get_terms で、orderby を指定することで並べ替えも出来ます。記事の一覧はそこからさらに WP_Query を使って取得したり増すが割愛します。

【get_terms – WordPress私的マニュアル】
https://elearn.jp/wpman/function/get_terms.html

投稿2018/11/01 16:18

kei344

総合スコア69407

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

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

shigeo_mori

2018/11/02 01:01

ご回答ありがとうございます。 特定カテゴリの取得は、いろいろネット上にも説明がありますので問題ないのですが、 特定カテゴリでなく、「アクセスした時に一番最新のカテゴリを表示」の場合、 カテゴリIDを指定できないのでどうしたらいいのか迷っております。 今一度ご教授お願いいたします。
kei344

2018/11/02 03:07

orderby が使えるので、最新が取れますよ、という回答です。
shigeo_mori

2018/11/06 16:40

なるほどです。詳しくなくすみません。 便利な関数を使いこなせるよう、全体的にもう少し勉強します。 ご回答ありがとうございました。
guest

0

ベストアンサー

カテゴリのIDが取得できれば解決できますか?
そうであれば、(恐縮ですが、kei344さんの回答にのっかりまして)
具体的なコードを書いてみるとこんな感じです。

PHP

1<?php 2$taxonomy = 'taxonomy';//'taxonomy' は取得したいカテゴリのタクソノミー名に変更 3$args = array( 4 'orderby' => 'id', //ID順に... 5 'order' => 'DESC', //降順(大きいものから順)に並べる 6); 7$terms = get_terms( $taxonomy, $args ); //get_termsを使ってカテゴリの情報を取得し値を変数にする 8var_dump($terms); //変数の中身を確認 9//この変数(配列)の一番最初の配列、つまり[0] の配列が、「最新のカテゴリ」の内容となる 10$termID = $terms[0]->term_id; //一番目の配列の中の["term_id"]を取得する 11//var_dump($termID); //変数の中身を確認 12?>

var_dump(); のところは、配列の中身を確認しているだけなので、不要です。
確認ができたら、コメントにするか、削除して構いません。

これで $termID が最新のカテゴリのIDを値とする変数になるので、
これを利用して、特定カテゴリの取得をする、とゆう感じです。

投稿2018/11/02 06:03

marlboro_tata

総合スコア525

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

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

shigeo_mori

2018/11/06 16:45

ご回答ありがとうございました。 今回は私のレベルに合わせてコードを書いてくださったmarlboro_tataさんをベストアンサーにさせて頂きました。 (いつまでもコードのコピペではなく自分で書けるようにならないとだめですね!もっと勉強します。)
marlboro_tata

2018/11/06 22:51

私もたくさん助けられてきて、コピペでいろんなことを覚えました。 今でもコピペしてます。 私は、ですが、WPについては、 var_dump(); で配列や変数の中身を確認して利用する、 取得した配列データのループを作って表示する、 ということが理解できて、自分でもなんとなく書けるようになってから、格段に色々できるようになっていったので、コピペしつつ頑張ってください〜。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問