コメントの日付の表記を変更する方法

このQ&Aのポイント
  • ワードプレス2.7.1を使用している際に、コメントの表示される日付の表記を「2009/5/18」と変更したい場合には、コメントテンプレートファイル(wp/wp-includes/comment-template.php)の350行目付近にある「function get_comment_date( $d = '' )」を編集します。
  • コメントテンプレートファイル(wp/wp-includes/comment-template.php)の350行目付近にある関数「get_comment_date( $d = '' )」を編集することで、コメントの表示される日付の表記を「2009/5/18」と変更することができます。
  • ワードプレス2.7.1を使用している場合にコメントの日付の表記を「2009/5/18」と変更するには、コメントテンプレートファイル(wp/wp-includes/comment-template.php)の350行目付近にある「function get_comment_date( $d = '' )」を修正します。
回答を見る
  • ベストアンサー

WP2.7.1でコメントの日付の表記を変更

ワードプレス2.7.1を使っています。 コメント表示の日付の表記が 2009 年 5 月 18 日 となっているので、 2009/5/18 と直したいのですが、どこをどうしたらいいのか… wp/wp-includes/comment-template.php の350行目あたりにそれっぽいのがあるのですが function get_comment_date( $d = '' ) { global $comment; if ( '' == $d ) $date = mysql2date( get_option('date_format'), $comment->comment_date); else $date = mysql2date($d, $comment->comment_date); return apply_filters('get_comment_date', $date); } これでしょうかね?色々やってみましたらエラーになります…

質問者が選んだベストアンサー

  • ベストアンサー
noname#140925
noname#140925
回答No.1

日付を全体的にY/n/jにするのではなく、コメント部分のみY/n/jにしたいのでしょうか? 全体的に変更するなら、ダッシュボードの設定の一般設定に日付と時刻のフォーマット設定項目がありますが・・・ コメント部分だけなら、WPの日付フォーマット読み込んでいる部分を潰して、直接フォーマット書くしかないのでは?

chikotto
質問者

お礼

ありがとうございます!ダッシュボードの設定の一般設定に日付と時刻のフォーマット設定項目で解決しました!

chikotto
質問者

補足

日付すべてをY/n/jに統一したいと思っています。 記事の日付の変更は簡単だったのですが、コメントの部分がうまくいかず… WPはかなり初心者です。HTMLやCSSは理解していますがPHPはあまり知識がありません。 直接フォーマットといってもどうしたらいいのか… まずはダッシュボードの設定の一般設定に日付と時刻のフォーマット設定を見てみます!

関連するQ&A

  • プラグインの日付表記の変更について

    phpのプログラムにお詳しい方に質問です。 「recent-tweets-widget」というプラグインを使っているのです。 wordpressにツイッターの更新内容を表記できるものです。 そこでお伺いしたいのですが、ツイッターの更新日の表記が下記のようになっています。 「21 hours ago」 これを下記のような日付、月、年に変更するにはプログラムをどう変更したら いいでしょうか? 「8 October 2012」 面倒な質問で大変恐縮ですが、どなたかお詳しい方教えてください。 【以下プログラムの日付表記部分】 //convert dates to readable format if (!function_exists('tp_relative_time')) { function tp_relative_time($a) { //get current timestampt $b = strtotime('now'); //get timestamp when tweet created $c = strtotime($a); //get difference $d = $b - $c; //calculate different time values $minute = 60; $hour = $minute * 60; $day = $hour * 24; $week = $day * 7; if(is_numeric($d) && $d > 0) { //if less then 3 seconds if($d < 3) return __('right now','tp_tweets'); //if less then minute if($d < $minute) return floor($d) . __(' seconds ago','tp_tweets'); //if less then 2 minutes if($d < $minute * 2) return __('about 1 minute ago','tp_tweets'); //if less then hour if($d < $hour) return floor($d / $minute) . __(' minutes ago','tp_tweets'); //if less then 2 hours if($d < $hour * 2) return __('about 1 hour ago','tp_tweets'); //if less then day if($d < $day) return floor($d / $hour) . __(' hours ago','tp_tweets'); //if more then day, but less then 2 days if($d > $day && $d < $day * 2) return __('yesterday','tp_tweets'); //if less then year if($d < $day * 365) return floor($d / $day) . __(' days ago','tp_tweets'); //else return more than a year return __('over a year ago','tp_tweets');

    • ベストアンサー
    • PHP
  • wordpressでワーニングが出て解決できません

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'comments_allow_only_column' not found or invalid function name in C:\xampp\htdocs\wordpress\wp-includes\plugin.php on line 170 ↓plugin.php の170行目の下記の★★部分でエラーが出ているようなのですが PHPの知識がないためどこが悪いのかわかりません。 フォームを設置した部分あたりから全てのページにエラーがでるようになってしまいました。 環境はローカルに設定しています。 $value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args'])); -------------------- function apply_filters($tag, $value) { global $wp_filter, $merged_filters, $wp_current_filter; $args = array(); // Do 'all' actions first if ( isset($wp_filter['all']) ) { $wp_current_filter[] = $tag; $args = func_get_args(); _wp_call_all_hook($args); } if ( !isset($wp_filter[$tag]) ) { if ( isset($wp_filter['all']) ) array_pop($wp_current_filter); return $value; } if ( !isset($wp_filter['all']) ) $wp_current_filter[] = $tag; // Sort if ( !isset( $merged_filters[ $tag ] ) ) { ksort($wp_filter[$tag]); $merged_filters[ $tag ] = true; } reset( $wp_filter[ $tag ] ); if ( empty($args) ) $args = func_get_args(); do { foreach( (array) current($wp_filter[$tag]) as $the_ ) if ( !is_null($the_['function']) ){ $args[1] = $value; ★★$value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args'])); } どの辺を修正すればよいのでしょうか。 宜しくお願い致します。

    • 締切済み
    • PHP
  • WPのカテゴリのビュー数を表示させたい

    WordPress でプラグインを使用しないで記事のビュー数を表示させるコードは結構あったので見つけることができました。 -------------- //PV数をカスタムフィールドに保存 function wpb_set_post_views($postID) { $count_key = 'wpb_post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); //投稿が閲覧されるたびにカスタムフィールドの値が更新 function wpb_track_post_views ($post_id) { if ( !is_single() ) return; if ( empty ( $post_id) ) { global $post; $post_id = $post->ID; } wpb_set_post_views($post_id); } add_action( 'wp_head', 'wpb_track_post_views'); //PV数取得 function wpb_get_post_views($postID){ $count_key = 'wpb_post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } --------------------- これを記事ではなくて、カテゴリでランキングを付けたい場合はどうすればいいのかがわかりません。 1)どのカテゴリが一番人気があるか、記事でなくカテゴリでランキングをつけたいです。 2)また、ビュー数を毎月調べたいので、1か月毎に初期化(0からカウント)するにはどうすればいいのかも教えて欲しいです。 3)もし、プラグインでカテゴリのビュー数を表示できるのがあったら、該当のプラグインを教えてほしいです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 日付の求め方の違い

    こんにちは。PHP5とMySQLで開発をしています。 プログラミングをしていまして ・コード1 tbl1.create_time BETWEEN '2007/10/12' AND '2007/10/18' ・コード2 DATE_FORMAT(tbl1.create_time , '%Y-%m-%d') >= '2007-10-12' AND DATE_FORMAT(tbl1.create_time , '%Y-%m-%d') <= '2007-10-18' 自分自身上記の2つのコードは、 「tbl1のcreate_timeカラムの値が2007/10/12~18の間のもの」という指定で同じかなとおもったのですが、実際に実行すると微妙に違った結果を 表示します。(コード1の方が対象期間が多い) なぜそうなるか教えてください。

    • ベストアンサー
    • PHP
  • WordPressの質問(q10032703)の続

    該当コードからmeta_keyに当てはまる記事を出力したいが、記事が何も表示されない。 function set_template_info() { global $tn; global $tk; global $rss_table_name; global $current_page; $tn = get_template_number(); $tk = get_template_key($tn); $rss_table_name = get_rss_table_name($tn); $current_page = get_current_page(); } function get_template_number() { global $template; $template_number = $_GET['tn']; switch ($template_number) { case '2': break; case '3': break; default: switch (pathinfo($template, PATHINFO_FILENAME)) { case 'page-secound': $template_number = 2; break; case 'page-third': $template_number = 3; break; default: $template_number = 1; } } return $template_number; } function get_template_key($template_number) { if (1 == $template_number) { $template_key = 'single_rss_feed1'; } elseif (2 == $template_number) { $template_key = 'double_rss_feed2'; } elseif (3 == $template_number) { $template_key = 'triple_rss_feed3'; } return $template_key;

    • ベストアンサー
    • PHP
  • よく分からない関数?がある

    プログラミングが良く分かっていないため、このプログラムを読みきる事ができませんでした。 #include <stdio.h> int (*get_sign)(); int iget_sign(int *a); int dget_sign(double *a); main(){ int sgn, idt=5; //intを2つ作成。idtは5 double fdt = -3.234; //ダブル型のfidを作成、数値は-3.234 get_sign = iget_sign; //不明:get_sigin sgn = get_sign(&idt); //get_siginにidtの数値を渡してsgnにいれてる printf("*date:%d sgn:%d\n",idt ,sgn); get_sign = dget_sign; sgn = get_sign(&fdt); printf("*data:%lf sgn:%d\n", fdt, sgn); } int iget_sign(int *a){ if(*a == 0) return 0; else if(*a > 0) return 1; else return -1; } int dget_sign(double *a){ if(*a == 0) return 0; else if(*a > 0.0) return 1; else return -1; } 数値が0なら0を、プラスなら1をマイナスなら-1を返すプログラムだと言うことは分かります。 しかし、2行目の「int (*get_sign)();」や10行目の「get_sign = iget_sign; //不明:get_sigin」が良く分かりません。 ぜひアドバイスをお願いします。

  • WPでphpファイルにエラーが出る

    attitudeというテーマのphpデータに最新記事のお知らせを表示させたいと思っています そこで下記のデータを加えると、最後の<php? get_footer() ?;>になぜかシンタックスエラーが出てきます <?php global $post; $top_news = get_posts( array( 'category_name' => 'info' , //カテゴリースラッグはinfo 'posts_per_page' => 5, //1ページでの表示件数 ) ); ?> <ul class="postsList"> <?php foreach( $top_news as $post ) : setup_postdata($post); ?> <li><?php the_title(); ?></li> </ul> <?php wp_reset_postdata(); ?> <ul>より下を削除するとエラーが消えます。 何卒、宜しくお願いいたします。 以下はページ全体のコードです。参考にお願いします。 <?php /** * Template Name: Business Template * * Displays the Business Layout of the theme. * * @package Theme Horse * @subpackage Attitude * @since Attitude 1.1 */ ?> <?php get_header(); ?> <?php /** * attitude_before_main_container hook */ do_action( 'attitude_before_main_container' ); ?> <div id="container"> <?php /** * attitude_business_template_content hook * * HOOKED_FUNCTION_NAME PRIORITY * * attitude_display_business_template_content 10 */ do_action( 'attitude_business_template_content' ); ?> </div><!-- #container --> <?php /** * attitude_after_main_container hook */ do_action( 'attitude_after_main_container' ); ?> <?php global $post; $top_news = get_posts( array( 'category_name' => 'info' , //カテゴリースラッグはinfo 'posts_per_page' => 5, //1ページでの表示件数 ) ); ?> <ul class="postsList"> <?php get_footer(); ?> ーーーーーーーーーーーーーー

    • 締切済み
    • PHP
  • C++で日付のプログラミング

    前回も同じ質問をして、自分なりに直してみたのですが、どうもうまく動作しません。 長くなりますが、教えてください。 日付のエラー処理を完全にするというもので、 次のような仕様を満たすようにMyDateクラスを修正せよ。というものです。 1.月、日共に初期値は1とする。 2.月、日の状態を出力するメンバ関数print()を追加する。 3.changeDay関数において、monthに入っている値に対応して適切なエラー処理を行う。    4月の時は日は30まで、5月の時は31まで、みたいな感じです。 4.changeMonth関数において、変更しようとする月に対しdayに入っている値が大きすぎる場合、dayを変更後の最後の日に修正するようにする。例えば、5月31日に設定されている時に、changeMonth(2)が呼ばれた時、monthに2を、dayに28を代入する。 5.うるう年は考慮しなくていい。 #include <stdio.h> class MyDate{ private: int month, day; public: void Date(int, int); void changeMonth(int); //「月」変更用関数 void changeDay(int); //「日」変更用関数 void print(); }; void MyDate::Date(int argMonth,int argDay) { argMonth = 1; argDay = 1; } void MyDate::changeMonth(int argMonth)//メンバ関数(changeMonth)の定義 { if(argMonth >= 1 && argMonth <= 12){ //1~12のときだけ値を更新 month = argMonth; } } void MyDate::changeDay(int argDay)//メンバ関数(changeDay)の定義 { //1~31が入力された場合のみ値を更新 if(argDay >= 1 && argDay <= 31){ day = argDay; } if(month == 1,day > 31){ printf("DATE = %d/%d\n",1,31); }else if(month == 2,day > 28){ printf("DATE = %d/%d\n",2,28); }else if(month == 3,day > 31){ printf("DATE = %d/%d\n",3,31); }else if(month == 4,day > 30){ printf("DATE = %d/%d\n",4,30); }else if(month == 5,day > 31){ printf("DATE = %d/%d\n",5,31); }else if(month == 6,day > 30){ printf("DATE = %d/%d\n",6,30); }else if(month == 7,day > 31){ printf("DATE = %d/%d\n",7,31); }else if(month == 8,day > 31){ printf("DATE = %d/%d\n",8,31); }else if(month == 9,day > 30){ printf("DATE = %d/%d\n",9,30); }else if(month == 10,day > 31){ printf("DATE = %d/%d\n",10,31); }else if(month == 11,day > 30){ printf("DATE = %d/%d\n",11,30); }else if(month == 12,day > 31){ printf("DATE = %d/%d\n",12,31); }else{ printf("DATE = %d/%d\n",month,day); } } int main(int, char **){ MyDate today; today.changeMonth(12); today.changeDay(35); return 0; } それで、 初期化するコンストラクタなんですが、 void MyDate::Date~ のような感じでいいのでしょうか? argMonthとかargDayとかいらないですか?ただMonthとDayだけでいいでしょうか? print()のメンバ関数なんですが、条件式の中に組込むとメンバ関数がいらないんじゃないか、と思ってしまうのですが、条件式の最後のelse{~}の中身を入れればいいでしょうか? あと、today.changeMonth(12); today.changeDay(35); と入れると、12/-858993460とでてしまうのですが、 条件式が間違ってるんでしょうか? 質問が多くてすみません。 よろしければ、回答よろしくお願いします。

  • Smarty コンバートエラー??

    はじめまして。 PHP初心者です。 テンプレートにオブジェクト配列を渡して、表示させたいのですが、 テンプレートをコンパイルする際にエラーがでてしまいます。 呼び出し元のtest.phpに”echo $objArray[0] -> get_id();”と書くと正常に表示されるのでテンプレートと問題と思うのですが、原因が解らずこまっております。。。 ご指導お願い致します。 ■環境 OS:Fedora 4 php-5.2.0 Smarty-2.6.13 ■ブラウザに表示されるエラー Catchable fatal error: Object of class User could not be converted to string in /home/dev/board/templates_c/%%6D^6D7^6D7C5625%%test.tpl.php on line 3 ■テンプレート(test.tpl) {$users[0] -> get_id()} ■テンプレートの呼び出し元(test.php) require_once("DB.php"); require_once("Smarty/libs/Smarty.class.php"); $o_smarty = new Smarty(); $o_smarty -> template_dir = "../templates"; $o_smarty -> compile_dir = "../templates_c"; $o_smarty -> debugging = TRUE; $db = DB::connect("mysql://*********************"); $objArray = User::getUserInfos($db); echo $objArray[0] -> get_id(); $o_smarty -> assign("users",$objArray); $o_smarty -> display("test.tpl"); class User { private $_id; public function get_id(){return $this -> _id;} public function set_id($_id){$this -> _id = $_id;} public static function getUserInfos($db){ ・・(中略)・・ } return $aryUsr; } }

    • ベストアンサー
    • PHP
  • C言語 実行エラー 10000日先が表示されない 

    今10000日先後の年、月、日を求めていて下のプログラムを 考えたんですけど、コンパイルは通るんですが結果がうまくいきません↓ どこがおかしいですか? #include<stdio.h> int leapYear(int); int Date(int,int,int,int); int main(void){ int year,i=0,month,date,date2=10000,emp=0; printf("年>>"); scanf("%d",&year); printf("月>>"); scanf("%d",&month); printf("日>>"); scanf("%d",&date); Date(year,month,date,date2);//date2から各月の日数を引いていく printf("year=%d month=%d date=%d date2=%d \n",year,month,date,date2); return 0; } int leapYear(int year){ //うるう年を求める if(year%400==0){ return 1; } else if(year%4==0 && year%100!=0){ return 1; } else return 0; } int Date(int y,int m,int d,int d2){ for(;;y++){ if(d2<0) return y,m,d,d2; for(;m<=12 || d2>=0;m++){ if(leapYear(y)==1){ if(m==4||m==6||m==9||m==11){ d2-(30-d); } else if(m==2) d2-(29-d); else d2-(31-d); } else if(m==4||m==6||m==9||m==11){ d2-(30-d); } else if(m==2) d2-(28-d); else d2-(31-d); } } }