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

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

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

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

PHP

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

Q&A

解決済

1回答

2883閲覧

[WordPress] 月別アーカイブを和暦表記にしたい

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2016/06/30 10:33

編集2016/06/30 14:55

###前提・実現したいこと
WordPressの投稿アーカイブにおいて、
月別アーカイブの表示を和暦で表示させたい

###試したこと
コチラを参考に投稿自体の日付は和暦に変更できました。
http://webhunting.cafemix.jp/wordpress%E3%81%AE%E6%8A%95%E7%A8%BF%E6%97%A5%E3%82%92%E5%92%8C%E6%9A%A6%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/

あとは、アーカイブだけなのです。。。

###追記 当方の言う月別アーカイブの表示箇所

WordPressの関数かと思うのですが、
下記のコードで呼び出すアーカイブの名称リストの部分が
通常ですと、
2016年1月
2016年2月
2016年3月。。。と言うように表示されるところを

平成28年1月
平成28年2月
平成28年3月。。。と言った表示にしたいです。

<?php wp_get_archives(); ?>

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

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

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

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

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

kei344

2016/06/30 13:32

「月別アーカイブの表示」とはどこのことでしょうか。具体的に周辺のコードなどを提示されてはいかがでしょうか。
guest

回答1

0

ベストアンサー

get_archives_link フックで置換するか、wp_get_archives() をコピーした関数を作ってしまうか、どちらかでしょうか。

PHP

1function add_ja_year_archives( $link_html ) { 2 return preg_replace_callback( 3 "/(\d{4})年(\d+)月/" 4 , function ( $matches ) { 5 $y = $matches[ 1 ]; 6 $m = $matches[ 2 ]; 7 $m = str_pad( $m, 2, 0, STR_PAD_LEFT ); 8 $ymd = $y.$m.'31'; 9 if ($ymd <= "19120729") { 10 $gg = "明治"; 11 $yy = $y - 1867; 12 } elseif ($ymd >= "19120730" && $ymd <= "19261224") { 13 $gg = "大正"; 14 $yy = $y - 1911; 15 } elseif ($ymd >= "19261225" && $ymd <= "19890107") { 16 $gg = "昭和"; 17 $yy = $y - 1925; 18 } elseif ($ymd >= "19890108") { 19 $gg = "平成"; 20 $yy = $y - 1988; 21 } 22 return "{$gg}{$yy}{$m}月"; 23 } 24 , $link_html 25 ); 26} // (未テスト) 27add_filter( 'get_archives_link', 'add_ja_year_archives' );

【WordPressの年別アーカイブリストの表示に「年」を追加する | Simple Colors】
http://www.warna.info/archives/925/

【PHP: preg_replace_callback - Manual】
http://php.net/manual/ja/function.preg-replace-callback.php

【「wp_get_archives()」で出力されるHTMLタグをカスタマイズ[WordPress]】
http://kotori-blog.com/wordpress/wp_get_archives/

投稿2016/06/30 16:52

編集2016/07/05 18:48
kei344

総合スコア69407

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

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

退会済みユーザー

退会済みユーザー

2016/06/30 19:47

いつもご指導をありがとうございます。 申し訳ありませんが、私の知識不足により、 せっかく提供下さったコードをどのように扱えば良いのかわかりません。 ご紹介頂いたサイトの方も、観覧しましたが、理解できずにいます。。。
kei344

2016/07/01 03:01

「中略」の部分ですか?参考に挙げられているURLのコードの部分を省略しました。 書く場所であれば、functions.php に追記してみてください。ページが真っ白になったら私の書いたコードにエラーが有ると思いますので、追加したものを削除してください。
退会済みユーザー

退会済みユーザー

2016/07/05 17:40

kei344様 引き続きご指導をありがとうございます。 遅くなりましたが、続きの作業をさせて頂きました。 しかし、 <?php wp_get_archives(); ?>で呼び出される表示は 「年7月」と表示され「年」より前の文字は無く空白です。 ご指示いただいた中略のところには ここから function wareki($ymd) { /*中略*/ return $wareki; } ここまで挿入しました。 ご面倒をお掛けしますが、今一度ご指導いただけると幸いです。
kei344

2016/07/05 17:49

関数の中に関数を書いてもなんともなりませんよ? あくまで関数の「一部」を省略しました。
kei344

2016/07/05 18:50

書き換えました。動かなかったら私の書いたコードはあきらめてください。 WordPress のカスタマイズは PHP の知識が必須なので、入門書などを数冊かって勉強されることをお勧めします。
退会済みユーザー

退会済みユーザー

2016/07/07 13:09

無知な私に、丁寧にご指導頂きありがとうございます。 もう少しPHPの基礎知識もつけながら、頑張って行きます。 いつもありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問