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

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

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

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

PHP

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

Q&A

解決済

1回答

1858閲覧

年月ごとに、見出しを分けた一覧を表示したい。

tkm0604

総合スコア555

WordPress

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

PHP

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

0グッド

1クリップ

投稿2021/05/21 02:28

下記参考サイトのように、年月ごとに出力したアーカイブページのタイトルを、選択した年月日で表示させたいです。
リンク内容
イメージ説明

現在は下記のように、投稿記事の一覧を取得するループを書いているのですが、

HTML

1 <section id="news_top"> 2 <div class="news__top__inner"> 3 <div class="narrow_down"> 4 <dl> 5 <dt>CATEGORY</dt> 6 <dd> 7 <select onChange="location.href=value;"> 8 <option hidden>全ての記事</option> 9 <option value="<?php echo esc_url(home_url('/news-archive')); ?>">全ての記事</option> 10 <?php 11 $taxonomy_slug = 'news_category'; // タクソノミーのスラッグを指定 12 $terms = get_terms($taxonomy_slug); // タームの取得 13 if( $terms && !is_wp_error($terms) ){ // タームがあれば表示 14 foreach ( $terms as $value ) { // 配列の繰り返し 15 echo '<option value="'.get_term_link($value->slug,$taxonomy_slug).'">'.esc_html($value->name).'</option>'; // タームのURLとタイトルを表示 16 } 17 } 18 ?> 19 </select> 20 </dd> 21 </dl> 22 <dl> 23 <dt>ARCHIVE</dt> 24 <dd> 25 <select class="categoryy" name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'> 26 <option hidden>日付を選択する</option> 27 <option value=""><?php echo attribute_escape(__('月を選択してください')); ?></option> 28 <?php wp_get_archives (array( 29 'post_type' => 'news', 30 'type' => 'monthly', 31 'format' => 'option', 32 'show_post_count' => '1' 33 )); 34 ?> 35 </select> 36 </dd> 37 </dl> 38 </div> 39 </div> 40 </section> 41 <section id="news_archive"> 42 <div class="news_archive__inner"> 43 <h3 class="page_title">月別アーカイブ</h3> <!--ここを動的に変化させたい。---> 44 <ul> 45 <?php 46 $paged = get_query_var('paged') ? get_query_var('paged') : 1; 47 $args = array( 48 'post_type' => 'news', 49 'posts_per_page' =>10, 50 'paged' => $paged 51 ); 52 $news_query = new WP_Query( $args ); 53 if ( $news_query->have_posts() ) : 54 while ( $news_query->have_posts() ) : 55 $news_query->the_post(); 56 ?> 57 <li><a href="<?php the_permalink(); ?>"> 58 <div class="news_article__wrap"> 59 <p class="news_date"><?php the_time('Y.m.d'); ?></p> 60 <?php 61 if ($terms = get_the_terms($post->ID, 'news_category')) { 62 echo ('<p class="news_category">'); 63 foreach ( $terms as $term ) { 64 echo esc_html($term->name); 65 } 66 echo ('</p>'); 67 } 68 ?> 69 </div> 70 <p class="news_article__title"><?php the_title(); ?></p> 71 </a> 72 </li> 73 <?php endwhile; 74 if(function_exists('wp_pagenavi')){ 75 wp_pagenavi(array('query'=>$news_query)); 76 } 77 endif; 78 wp_reset_postdata();?> 79 </ul> 80 81 <!-- <div class="wp_pagenavi_wrap"> 82 <?php wp_pagenavi(); ?> 83 </div> --> 84 </div> 85 </section>

HTML

1 <dl> 2 <dt>ARCHIVE</dt> 3 <dd> 4 <select class="categoryy" name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'> 5 <option hidden>日付を選択する</option> 6 <option value=""><?php echo attribute_escape(__('月を選択してください')); ?></option> 7 <?php wp_get_archives (array( 8 'post_type' => 'news', 9 'type' => 'monthly', 10 'format' => 'option', 11 'show_post_count' => '1' 12 )); 13 ?> 14 </select> 15 </dd> 16 </dl>

上記セレクトボックスで選択した投稿月を下記箇所に、

HTML

1<h3 class="page_title">月別アーカイブ</h3>

「2021年5月」「2021年4月」と、切り替えて表示させるにはどうすればいいでしょうか?

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

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

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

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

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

guest

回答1

0

自己解決

ループで取得しなくても、テンプレートタグで取得できました。

HTML

1<h3 class="page_title"><?php echo get_the_date('Y年n月'); ?></h3> <!--選択した投稿記事の年月を出力--->

これだけでした。

投稿2021/05/21 06:10

tkm0604

総合スコア555

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問