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

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

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

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

Q&A

0回答

516閲覧

WordPressで特定のカテゴリ、かつ、年別アーカイブの一覧リンクを自動で表示させたいです

fuwafuwacocoa

総合スコア5

WordPress

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

0グッド

0クリップ

投稿2020/05/22 08:04

カテゴリID:96
使用テンプレート:category-96.php

以下の記述を自動で出力されるようにしたいのですが、行き詰りました。。

html

1<ul class="mod-link"> 2 <li class="current"><a href="<?php bloginfo('url'); ?>/2019/?cat=96">2019年</a></li> 3 <li><a href="<?php bloginfo('url'); ?>/2018/?cat=96">2018年</a></li> 4 <li><a href="<?php bloginfo('url'); ?>/2017/?cat=96">2017年</a></li> 5 <li><a href="<?php bloginfo('url'); ?>/2016/?cat=96">2016年</a></li> 6 <li><a href="<?php bloginfo('url'); ?>/2015/?cat=96">2015年</a></li> 7</ul>

また、現在表示されているページリンクに目印(例:current)をつけ、そのリンクだけ色を変えたいと思っております。

イメージ説明

category-96.phpの記述内容

html

1<?php get_header(); ?> 2 3 <div class="container-sm"> 4 5 <ul class="mod-link"> 6 <li><a href="<?php bloginfo('url'); ?>/2019/?cat=96">2019年</a></li> 7 <li><a href="<?php bloginfo('url'); ?>/2018/?cat=96">2018年</a></li> 8 <li><a href="<?php bloginfo('url'); ?>/2017/?cat=96">2017年</a></li> 9 <li><a href="<?php bloginfo('url'); ?>/2016/?cat=96">2016年</a></li> 10 <li><a href="<?php bloginfo('url'); ?>/2015/?cat=96">2015年</a></li> 11 </ul> 12 13 <?php 14 function my_year_link($url, $year){ 15 global $wp_rewrite; 16 $yearlink = $wp_rewrite->get_year_permastruct(); 17 if(empty($yearlink)) 18 return $url . '&cat=' . get_query_var('cat'); 19 20 return $url; 21 } 22 function my_getarchives_where($where, $r){ 23 return $where . 24 " AND t.taxonomy = 'category' AND terms.term_id = ".get_query_var('cat'); 25 } 26 function my_getarchives_join($join, $r){ 27 global $wpdb; 28 return 29 " LEFT JOIN $wpdb->term_relationships as r ON $wpdb->posts.ID = r.object_ID 30 LEFT JOIN $wpdb->term_taxonomy as t ON r.term_taxonomy_id = t.term_taxonomy_id 31 LEFT JOIN $wpdb->terms as terms ON t.term_id = terms.term_id"; 32 } 33 add_filter('year_link', 'my_year_link', 10, 2); 34 add_filter('getarchives_where', 'my_getarchives_where', 10, 2); 35 add_filter('getarchives_join', 'my_getarchives_join', 10, 2); 36 get_header(); ?> 37 <?php 38 if(is_year()) : 39 while(have_posts()) : 40 the_post(); 41 ?> 42 <div class="news-area__inner"> 43 <div class="news-area__date"><?php echo get_post_time('Y/m/d'); ?></div> 44 <h3 class="news-area__ttl"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 45 </div> 46 47 <?php 48 endwhile; 49 else: 50 wp_get_archives('type=yearly'); 51 endif; 52 ?> 53 <?php get_footer(); 54 remove_filter('year_link', 'my_year_link', 10, 2); 55 remove_filter('getarchives_where', 'my_getarchives_where', 10, 2); 56 remove_filter('getarchives_join', 'my_getarchives_join', 10, 2); 57 ?> 58 59<?php get_footer(); ?>

何卒、よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問