カレンダーの年号を『2010年』から『2010.』にしたいのです。
-
初心者です。
いま、ブログを作っておりカレンダーを表記しています。
カレンダーを英語表記にしたく、いろいろ調べてなんとかできたものの
カレンダー見出し部分が2010 年 MARCH. と表記されています。
これを
2010 MARCH. と表記したいと思っています。
どうしたら良いか教えていただけると嬉しいです。
どうぞよろしくお願いいたします
-
カレンダーを英語表記にしたく、いろいろ調べてなんとかできたものの
どのように実現したのかソースを書いてもらったほうが回答しやすいですね。
ただ年を消したいと言うならmoファイルを修正とか言ってしまいそうですけど・・・色々と問題がでそう;)こんにちは。カレンダーを英語表記にしたのは
wp-includesのlocale.phpをdreamweaverで下記の感じに変更しました。// The Weekdays
$this->weekday[0] = ‘SUNDAY.’;
$this->weekday[1] = ‘MONDAY.’;
$this->weekday[2] = ‘TUESDAY.’;
$this->weekday[3] = ‘WEDNESDAY.’;
$this->weekday[4] = ‘THURSDAY.’;
$this->weekday[5] = ‘FRIDAY.’;
$this->weekday[6] = ‘SATURDAY.’;// The first letter of each day. The _%day%_initial suffix is a hack to make
// sure the day initials are unique.
$this->weekday_initial[‘SUNDAY.’] = ‘S’;
$this->weekday_initial[‘MONDAY.’] = ‘M’;
$this->weekday_initial[‘TUESDAY.’] = ‘T’;
$this->weekday_initial[‘WEDNESDAY.’] = ‘W’;
$this->weekday_initial[‘THURSDAY.’] =’T’;
$this->weekday_initial[‘FRIDAY.’] = ‘F’;
$this->weekday_initial[‘SATURDAY.’] = ‘S’;foreach ($this->weekday_initial as $weekday_ => $weekday_initial_) {
$this->weekday_initial[$weekday_] = preg_replace(‘/_.+_initial$/’, ”, $weekday_initial_);
}// Abbreviations for each day.
$this->weekday_abbrev[‘SUNDAY.’] = ‘SUN’;
$this->weekday_abbrev[‘MONDAY.’] = ‘MON’;
$this->weekday_abbrev[‘TUESDAY.’] = ‘TUE’;
$this->weekday_abbrev[‘WEDNESDAY.’] = ‘WED’;
$this->weekday_abbrev[‘THURSDAY.’] = ‘THU’;
$this->weekday_abbrev[‘FRIDAY.’] = ‘FRI’;
$this->weekday_abbrev[‘SATURDAY.’] = ‘SAT’;// The Months
$this->month[’01’] = ‘JANUARY.’;
$this->month[’02’] = ‘FEBRUARY.’;
$this->month[’03’] = ‘MARCH.’;
$this->month[’04’] = ‘APRIL.’;
$this->month[’05’] = ‘MAY.’;
$this->month[’06’] = ‘JUNE.’;
$this->month[’07’] = ‘JULY.’;
$this->month[’08’] = ‘AUGUST.’;
$this->month[’09’] = ‘SEPTEMBER.’;
$this->month[’10’] = ‘OTOBER.’;
$this->month[’11’] = ‘NOVEMBER.’;
$this->month[’12’] = ‘DECEMBER.’;// Abbreviations for each month. Uses the same hack as above to get around the
// ‘May’ duplication.
$this->month_abbrev[‘JANUARY.’] = ‘JAN’;
$this->month_abbrev[‘FEBRUARY.’] = ‘FEB’;
$this->month_abbrev[‘MARCH.’] = ‘MAR’;
$this->month_abbrev[‘APRIL.’] = ‘APR’;
$this->month_abbrev[‘MAY.’] = ‘MAY’;
$this->month_abbrev[‘JUNE.’] = ‘JUN’;
$this->month_abbrev[‘JULY.’] = ‘JUL’;
$this->month_abbrev[‘AUGUST.’] = ‘AUG’;
$this->month_abbrev[‘SEPTEMBER.’] = ‘SEP’;
$this->month_abbrev[‘OTOBER.’] = ‘OCT’;
$this->month_abbrev[‘NOVEMBER.’] = ‘NOV’;
$this->month_abbrev[‘DECEMBER.’] = ‘DEC’;foreach ($this->month_abbrev as $month_ => $month_abbrev_) {
$this->month_abbrev[$month_] = preg_replace(‘/_.+_abbreviation$/’, ”, $month_abbrev_);
}// The Meridiems
$this->meridiem[‘am’] = ‘am’;
$this->meridiem[‘pm’] = ‘pm’;
$this->meridiem[‘AM’] = ‘AM’;
$this->meridiem[‘PM’] = ‘PM’;// Numbers formatting
// See http://php.net/number_format$trans = _c(‘number_format_decimals|$decimals argument for http://php.net/number_format, default is 0’);
$this->number_format[‘decimals’] = (‘number_format_decimals’ == $trans) ? 0 : $trans;$trans = _c(‘number_format_decimal_point|$dec_point argument for http://php.net/number_format, default is .’);
$this->number_format[‘decimal_point’] = (‘number_format_decimal_point’ == $trans) ? ‘.’ : $trans;$trans = _c(‘number_format_thousands_sep|$thousands_sep argument for http://php.net/number_format, default is ,’);
$this->number_format[‘thousands_sep’] = (‘number_format_thousands_sep’ == $trans) ? ‘,’ : $trans;// Import global locale vars set during inclusion of $locale.php.
foreach ( $this->locale_vars as $var ) {
if ( isset($GLOBALS[$var]) )
$this->$var = $GLOBALS[$var];
}}
index.phpでは <?php get_calendar(); ?> <?php wp_get_archives(); ?>と
カレンダーとアーカイブをアップしていますが、いずれも
『2010 年 MARCH.』のままです。wp-contentのlanguagesには、ja.po と ja.mo と2つ入っていましたが
私がもっているソフトでは編集できないようでした。
長々すみません。よろしくお願いいたします。コアファイルの修正は良くないんですね。(知りませんでした)
となると、local.phpをもとに戻し直接任意のフォーマット↓
<?php
// the_date()
$the_date = the_date( ‘U’, null, null, false );
if ( !empty( $the_date ) ) echo date( ‘M.n Y’, $the_date );// echo get_the_time()
echo date( ‘M.n Y’, get_the_time(‘U’) );これをアップすると良いという事でしょうか?
ちなみに、まだ初心者でもあるのでどこに、どのようにアップすれば良いのかが
わかりません。style.cssのカレンダーの所でしょうか?すみません、よろしくお願いいたします。
えっと、記事のテンプレートなら確かに上記で対応可能なのですが・・・
最初に聞いておくことを忘れていましたね(汗)いま、ブログを作っておりカレンダーを表記しています。
何を使ってカレンダーを実現されていますでしょう。多分何らかのタグかプラグインかウィジェットなどを利用しているでしょうから、テンプレートの修正というわけにはいかないですよね。
カレンダーを実現されている方法によっても解決方法が若干変わってくるかもしれません・・・いま
<?php get_calendar(‘title_li=’); ?>
でカレンダーをアップしています。urlも表記しますね。
http://presentdaily.chicappa.jp/wordpress/
なんども、ありがとうございます。
よろしくお願いいたします。すみません。結局の所、対処方法はないのでしょうか??
標準の get_calendar テンプレートタグを使っているんですね。
であれば、現状ではコアソースを修正する以外に対策はないです。FUMI KITANI さんが、修正したい表記を決定している箇所は wp-includes/general-template.php の 1026~1030行目(WordPress 2.9.2)です。
1026~1030行目を以下のように変更すれば、お望みの表記になります。// $calendar_caption = _x('%1$s %2$s', 'calendar caption'); echo '<table id="wp-calendar" summary="' . esc_attr__('Calendar') . '"> <caption>' . sprintf('%2$s. %1$s', date('F', $thismonth), date('Y', $unixmonth)) . '</caption> <thead> <tr>';
この方法はコアソースの修正になりますので、WordPress をバージョンアップするときには、毎回同じ修正を行う必要があります。
shokun0803 さんも、仰られているようにコアソースの修正はオススメできません。
カレンダー表示をカスタマイズできるプラグインを探したほうが、より良いでしょう。
公式プラグインディレクトリ等で、探してみてください。一点、気になった所。
<?php get_calendar('title_li='); ?>
get_calendar テンプレートタグの引数は Codex を見る限りでは、 true or false を指定するようです。ああ、すみません、いつの間にかスレッドがすっとんで返答していませんでしたね・・・
カレンダー表示をカスタマイズできるプラグインを探したほうが、より良いでしょう。
をかもとさんのおっしゃるとおり結局こうなってしまうのですが、kzさんの以前の回答からカスタマイズの方法はあります。ただしそれ相応のスキルが必要かと;)
プラグインは融通きかなかったりしますのでね、kzさんのブログが参考になるでしょう。
ob_startで取得した物をpreg_replaceする方式ですので、年とか月とかのように文字が確定しているなら同じように変更も削除も可能かと思います。wokamotoさん、shokun0803さん、いろいろとありがとうございます。
2.9.2が主流の中で、2.6対応の本を見ながら作っており
わからない事ばかりで。。たすかります。ただ、お2人のご説明にまだ自分が追いついていないレベルで申し訳ないです。
シンプルなブログが作りたいだけなんですけれど。。
カレンダーをカスタムするのは難しそうですね。
コアソースの修正は良くない事を念頭に、ご説明いただいた方法を
勉強しながら探ってみます。シンプルなブログが作りたいだけなんですけれど。。
カレンダーをカスタムするのは難しそうですね。
がんばります!ありがとうございました。シンプルなブログが作りたいだけなんですけれど。。
そうですよね、コアの修正とかfunctions.phpに自力でソース追加とか、無茶ありますよね。
管理画面も英語化してしまいますが、英語版をインストールという手もあります。英語版インストールといっても日本語化用ファイルで日本語化されているわけですから手順などはなにも変わらないのですけどね。
ためしにサーバーから言語ファイルを削除(もちろんローカルには残しておいて)してみるなんて荒業を試してみるとか?確か、英語のブログを作りたいけど投稿者は日本人なので管理画面は日本語にしたいっていう質問に自作プラグインの紹介をしていたスレッドがあったような・・・?すいません失念しましたorz
- トピック「カレンダーの年号を『2010年』から『2010.』にしたいのです。」には新たに返信することはできません。