サポート » その他 » カレンダーの年号を『2010年』から『2010.』にしたいのです。

  • tani mi

    (@fumi-kitani)


    初心者です。
    いま、ブログを作っておりカレンダーを表記しています。
    カレンダーを英語表記にしたく、いろいろ調べてなんとかできたものの
    カレンダー見出し部分が

    2010 年 MARCH. と表記されています。

    これを

    2010 MARCH. と表記したいと思っています。

    どうしたら良いか教えていただけると嬉しいです。
    どうぞよろしくお願いいたします

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • カレンダーを英語表記にしたく、いろいろ調べてなんとかできたものの

    どのように実現したのかソースを書いてもらったほうが回答しやすいですね。
    ただ年を消したいと言うならmoファイルを修正とか言ってしまいそうですけど・・・色々と問題がでそう;)

    トピック投稿者 tani mi

    (@fumi-kitani)

    こんにちは。カレンダーを英語表記にしたのは
    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つ入っていましたが
    私がもっているソフトでは編集できないようでした。
    長々すみません。よろしくお願いいたします。

    どこぞのページで紹介されている方法だと思いますが、コアファイルの修正はお勧めできません。wordpressのバージョンアップのたびに書き換える羽目になりますよ;)
    この辺とか参考になりませんか?

    mo、poファイルを編集するにはpoeditが有名です。この辺が参考になるかな?

    トピック投稿者 tani mi

    (@fumi-kitani)

    コアファイルの修正は良くないんですね。(知りませんでした)
    となると、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のカレンダーの所でしょうか?

    すみません、よろしくお願いいたします。

    shokun0803

    (@shokun0803)

    えっと、記事のテンプレートなら確かに上記で対応可能なのですが・・・
    最初に聞いておくことを忘れていましたね(汗)

    いま、ブログを作っておりカレンダーを表記しています。

    何を使ってカレンダーを実現されていますでしょう。多分何らかのタグかプラグインかウィジェットなどを利用しているでしょうから、テンプレートの修正というわけにはいかないですよね。
    カレンダーを実現されている方法によっても解決方法が若干変わってくるかもしれません・・・

    トピック投稿者 tani mi

    (@fumi-kitani)

    いま

    <?php get_calendar(‘title_li=’); ?>

    でカレンダーをアップしています。urlも表記しますね。

    http://presentdaily.chicappa.jp/wordpress/

    なんども、ありがとうございます。
    よろしくお願いいたします。

    トピック投稿者 tani mi

    (@fumi-kitani)

    すみません。結局の所、対処方法はないのでしょうか??

    wokamoto

    (@wokamoto)

    標準の 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 を指定するようです。

    shokun0803

    (@shokun0803)

    ああ、すみません、いつの間にかスレッドがすっとんで返答していませんでしたね・・・

    カレンダー表示をカスタマイズできるプラグインを探したほうが、より良いでしょう。

    をかもとさんのおっしゃるとおり結局こうなってしまうのですが、kzさんの以前の回答からカスタマイズの方法はあります。ただしそれ相応のスキルが必要かと;)

    プラグインは融通きかなかったりしますのでね、kzさんのブログが参考になるでしょう。
    ob_startで取得した物をpreg_replaceする方式ですので、年とか月とかのように文字が確定しているなら同じように変更も削除も可能かと思います。

    トピック投稿者 tani mi

    (@fumi-kitani)

    wokamotoさん、shokun0803さん、いろいろとありがとうございます。
    2.9.2が主流の中で、2.6対応の本を見ながら作っており
    わからない事ばかりで。。たすかります。

    ただ、お2人のご説明にまだ自分が追いついていないレベルで申し訳ないです。
    シンプルなブログが作りたいだけなんですけれど。。
    カレンダーをカスタムするのは難しそうですね。
    コアソースの修正は良くない事を念頭に、ご説明いただいた方法を
    勉強しながら探ってみます。

    シンプルなブログが作りたいだけなんですけれど。。
    カレンダーをカスタムするのは難しそうですね。
    がんばります!ありがとうございました。

    shokun0803

    (@shokun0803)

    シンプルなブログが作りたいだけなんですけれど。。

    そうですよね、コアの修正とかfunctions.phpに自力でソース追加とか、無茶ありますよね。

    管理画面も英語化してしまいますが、英語版をインストールという手もあります。英語版インストールといっても日本語化用ファイルで日本語化されているわけですから手順などはなにも変わらないのですけどね。
    ためしにサーバーから言語ファイルを削除(もちろんローカルには残しておいて)してみるなんて荒業を試してみるとか?

    確か、英語のブログを作りたいけど投稿者は日本人なので管理画面は日本語にしたいっていう質問に自作プラグインの紹介をしていたスレッドがあったような・・・?すいません失念しましたorz

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「カレンダーの年号を『2010年』から『2010.』にしたいのです。」には新たに返信することはできません。