※弊社記事はたぶんにPRが含まれますので
話半分で受け取ってください。

WordPressの投稿一覧の日付表示を修正してやった

 WordPressでは管理画面の「投稿」で投稿の一覧を見ることが出来ます。前々から、この一覧にある日付の表示が分かりにくいなぁ、と思っていたのですが、これをちょっといじってみることにしました。修正してやるー!

 WordPressで記事を書いたことのある人なら分かると思いますが、WordPressでは管理画面にある「投稿」で記事の一覧が見られるようになっています。そして、一覧には日付も表示されるようになっています。

WordPressの記事一覧

 こんな風に。
 この日付の部分、24時間以内に投稿された記事は「n時間前」と表示されるようになっています。これ、すごく分かりにくくないですか?そう思っているのはicoroの2人だけ?普通に日時を表示してくれたほうが良いのですが。
 一応、日付の上にカーソルを置いてしばらく待つと、「2009年11月17日 9:00:00 AM」というように日時がポップアップ表示(?)されるのですが、いちいちそんなことをするのはめんどくさいわけで。しかも、日頃、24時間表記で行動している自分にとって、AM・PM表示は分かりにくい。あと、秒数はなくてもいい。

 ということで、ソースいじって以下のように修正しました。

WordPressの記事一覧

 時間を表示するようにしたついでに、「公開済み」の文字は緑色で、「予約済み」の文字は灰色で、それぞれ表示するようにしました。
 「かなり分かりやすくなった」とicoro内では評判です。

ソースコード

 編集したのは「wp-admin/includes/template.php」の中にある関数 _post_rowです。変更内容は以下の通り。コメントアウトしてあるのはオリジナルのコードです。

    case 'date':
      if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {
//        $t_time = $h_time = __('Unpublished');
        $t_time = __('Unpublished');
//        $time_diff = 0;
      } else {
//        $t_time = get_the_time(__('Y/m/d g:i:s A'));
        $t_time = get_the_time(__('Y/m/d G:i'));
        $m_time = $post->post_date;
        $time = get_post_time('G', true, $post);
 
        $time_diff = time() - $time;
 
//        if ( $time_diff > 0 && $time_diff < 24*60*60 )
//          $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );
//        else
//          $h_time = mysql2date(__('Y/m/d'), $m_time);
      }
 
      echo '<td ' . $attributes . '>';
//      if ( 'excerpt' == $mode )
        echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode);
//      else
//        echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . '</abbr>';
      echo '<br />';
      if ( 'publish' == $post->post_status ) {
//        _e('Published');
        echo '<span style="color:green;">' . __('Published') . '</span>';
      } elseif ( 'future' == $post->post_status ) {
        if ( $time_diff > 0 )
          echo '<strong class="attention">' . __('Missed schedule') . '</strong>';
        else
//          _e('Scheduled');
          echo '<span style="color:#999;">' . __('Scheduled') . '</span>';
      } else {
        _e('Last Modified');
      }
      echo '</td>';
    break;

 コアにはあんまり手を入れたくないのですが、仕方なく手を入れているところが幾つかあります。まあ、不満な場所があっても(知識さえあれば)自分で直せるというのが、オープンソースの良いところ。ということで。

1冊ですべて身につくWordPress入門講座

  • メーカー:SBクリエイティブ
  • カテゴリ:Kindle版
  • 発売日:2022/03/23

関連する記事