ブログの更新日を表示させる

ブログの更新日を表示させる

投稿日と更新日を並べて表示しているサイトが有りますが、私もやってみようと思いトライしました。更新日の表示なんて簡単だろうと思っていたら、これがどうして、なかなかのくせものでした。最初にTwenty seventeen でやった内容を書いています。ライオンブログでの表示は末尾に書いています。

Parse error の対応

例によってググって、検索結果の上位から参考にしてfuncution php やsingle phpに書いてみますがことごとく Parse error: syntax error, unexpected ‘function’ (T_FUNCTION) が出ます。

最初にエラーが出たときは「終わった」と思いましたね。変更しようにもファイルすら開けないのですからね。

またググると、サーバーにあるファイルを変更すれば元に戻ると出てました。数回はそれで戻っていたのですが、変なスペースが1個入っていたのが分からず苦労しました。

やっぱりphpファイルを変更するのは熟練者でないとダメかと痛切に思いました。でも熟練者は見ないでできますね。

更新日が必要なわけ

投稿文の始めに更新日を毎回手書きしても、読者に分かるから同じだと思いましたが、検索ロボットに分からせないと、検索上位に表示されませんから意味がないですね。人工知能ロボットに支配される世界がやってきた感じがします。

私はブログの記事を公開してから読み返して何回も更新します。ちょっとしたミスが多いので、そんな時は更新日を書く必要はないと思いますが、大きな変更や記事を集約したときなどは表示したほうが良いですね。

更新日の取得と表示位置のチェック

the_modified_date();

2017年〇月〇日 と表示されます。

追記 2018.1.19
以下はサーバー内の Single PHP に直接書いていますが、子テーマに Single PHP をコピーしてそこで変更したほうが良いですね。子テーマの作り方はこちらを参考にして下さい。

このコードをブログのサーバー内に有る single.php (/wp-content/themes/twentyseventeen/single.php )に記入し、どこに表示されるか場所をチェックする。

/* Start the Loop */
while ( have_posts() ) : the_post();
the_modified_date();
 get_template_part( ‘template-parts/post/content’, get_post_format() );
the_modified_date();

 

get_template…の前に入れると

図のように投稿文の最上部、赤〇に表示されます。青〇は最終位置です。 get_template…の後に入れると今度は投稿文の最下部に表示されます。つまりget_template…の中content.phpに書けばよいということです。

記事の更新日を表示

content.phpはsingle.php と同列のtemplate-partsフォルダーのpost内に有ります。下記がheader部です。

 最終位置(青枠)に挿入する場合は <?php……?> タグ内に有りますから  echo ‘update : ‘; the_modified_date(); と書きます。
echo は文字を表示するための命令で最後は;で終わります。文字は ’ と ’ の間に書きます。上記の場合は「update : 」を表示します。

 

漢字表示の「更新日」は文字化けしてうまくいきません。

追記 2017.11.1
サーバーのエディッタで文字が「EUC-JP」になっていたので、「UTF-8」に変えて保存したところ日本語で表示されました。

投稿タイトルの下に表示する場合は、タイトルphpが終わった ?> の後に書きます。

<?php echo ‘update : ‘; the_modified_date();?>

  • <?php ではじまれば必ず ?> で終わる
  • 命令の最後は必ず ; で終わる

まとめ

いろんな参考ブログが有りましたが、私のレベルでは理解できなくて、ここまで来るのに1週間以上かかりました。投稿日と更新日が同じでも表示される問題、漢字表示、文字の大きさなどまだ課題は残っています。
私なりにかなり細かく書いたつもりです。
参考になればうれしい限りです。

追記 投稿日と更新日を比較&文字の大きさを同じに

同じ場所に入れますが if を追加して

echo ‘</div><!– .entry-meta –>’; の下に

echo ‘<div class=”entry-meta”>’;
if ( get_the_modified_date() != get_the_date() ):
the_modified_date() ; echo ‘ 更新’;
endif;
echo ‘</div><!– .entry-meta –>’;

追記  2018.5.5 ライオンブログの場合

ライオンブログの場合は、single php を子テーマにコピーして、作成日(<li class=”dateList__item icon-calendar”><?php the_time(‘Y.m.d’); ?></li>)の下に以下を追加します。

<li class="dateList__item icon-calendar"><?php the_modified_time('Y.m.d'); echo " 更新"; ?></li>

 

 

Scroll Up