サポート » 使い方全般 » 各記事下の投稿日の横に最終更新日を記載したい

  • wordpressテーマのtwenty twelveの子テーマを使用しています。

    現在は各記事の下に
    「カテゴリー」と「投稿日」が出力されています。
    そこへ「最終更新日」も追加したいのですが、
    更新があった記事のみに追加したいと思っています。

    現在はfunction.phpに

    function twentytwelve_entry_meta() {
      // Translators: used between list items, there is a space after the comma.
      $categories_list = get_the_category_list( __( ', ', 'twentytwelve' ) ); 
    
      // Translators: used between list items, there is a space after the comma.
      $tag_list = get_the_tag_list( '', __( ', ', 'twentytwelve' ) ); 
    
      $date = sprintf( '<time class="entry-date updated" datetime="%3$s">%4$s</time>',
        esc_url( get_permalink() ),
        esc_attr( get_the_time() ),
        esc_attr( get_the_date( 'c' ) ),
        esc_html( get_the_date() )
      ); 
    
    if ( $tag_list ) {
        $utility_text = 'カテゴリー: %1$s | タグ:%2$s | 投稿日: %3$s | ';
      } elseif ( $categories_list ) {
        $utility_text = 'カテゴリー: %1$s | 投稿日: %3$s | ';
      } else {
        $utility_text = '投稿日: %3$s | ';
      } 
    
      printf($utility_text, $categories_list, $tag_list, $date);
    }

    と記載していますが、
    更新日を足すにはどうすれば良いのでしょうか?

    Googleで調べると
    function.phpに

    function get_mtime($format) {
        $mtime = get_the_modified_time('Ymd');
        $ptime = get_the_time('Ymd');
        if ($ptime > $mtime) {
            return get_the_time($format);
        } elseif ($ptime === $mtime) {
            return null;
        } else {
            return get_the_modified_time($format);
        }
    }

    を追記してからsingle.phpの更新日を表示したい部分に

    <?php if ($mtime = get_mtime('Y/m/d')) echo '最終更新日: ', $mtime; ?>

    を記述するとありましたが、
    現在のfunction.phpに足す形で出来ないのでしょうか?

    あまり詳しく分かっておりません。
    ご教授宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんにちはー。

    現在のfunction.phpに足す形で出来ないのでしょうか?

    とのことですね。single.phpやcontent.phpなど編集するファイルがいくつかに別れていたりしますし、twentytwelve_entry_meta()を編集しておられるようで、functions.phpで解決したいとのことですね。

    下記のような動作でよかったでしょうか?

    https://gyazo.com/c8331ee1411feb75b913cc974835fbe6

    コードは以下のようになります。
    twentytwelve_entry_metaの一部を改変しました。

    if ( $tag_list ) {
            $utility_text = 'カテゴリー: %1$s | タグ:%2$s | 投稿日: %3$s | ';
        } elseif ( $categories_list ) {
            $utility_text = 'カテゴリー: %1$s | 投稿日: %3$s | ';
        } else {
            $utility_text = '投稿日: %3$s | ';
        }
    
        if ( ($modified_time = get_the_modified_date()) != get_the_date() ) {
            $utility_text .= '最終更新日: '. $modified_time;
        }
    
        printf($utility_text, $categories_list, $tag_list, $date);

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「各記事下の投稿日の横に最終更新日を記載したい」には新たに返信することはできません。