更新日 :テーマによっては更新日は最初から表示されるものもありますが、たいていは投稿日しか表示されないので更新日を表示したい!
更新日が表示されていると、投稿日から全く手つかずの古い投稿なのかどうかを見るのにも便利なので、このブログでも更新日追加してみようと思います。
私はテーマをコロコロ変えるので、この情報(方法)をいつもググって確認していたんですけど、自分のメモとして残しとけばよかった。
現在このブログのwordpressテーマ:OnePress
更新日を表示するコード
設定:もし更新日があれば、更新日を表示し、無ければ投稿日のみ
※iconはFont Awesome Iconsより
投稿日の周辺、任意の場所に以下を追加
<?php if (get_the_modified_date('Y/n/j') != get_the_time('Y/n/j')) : ?>
<li><i class="fa fa-refresh"></i><?php the_modified_date('Y/m/d') ?></li>
<?php endif; ?>
<>は半角に(そのままコピペで使えません)
推奨:Function Reference/get the modified date(日本語)by WordPress Codex
更新日順に変えるコード
archiveやCategoryなどのphpそれぞれに設定
設置する箇所
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
このコードの上に
設置するコード
<?php query_posts($query_string . '&orderby=modified&order=desc'); ?>
どこに入れるか(***.php)
このコードをどこに入れるかは、自分がどこに入れたいかによって異なると思いますが、
一般的には投稿に表示したいなら→ (single.php)や、Content.phpあたりに日付の項目があることが多いです
「ctrl+f」で[date]と検索すると、get_the_dateとかそんな感じで
※テーマによってはここをつついても変わらないものもあるので、テーマによる
現在私のテーマOnePressはsingle.php、content-single.phpどちらにも日付の表示項目が無かった(T-T
あぁ、これは私の手に負えないやつだ…
しょうがないから、それらしいファイルの中を見て確認
!見っけた♪
OnePress: template-tags.php (inc/template-tags.php)
すごく怪しい個所を発見!しかしお手上げである
(一部変更しています)
/**
* Prints HTML with meta information for the current post-date/time and author.
*/
function onepress_posted_on()
{
$time_string = '';
if (get_the_time('U') !== get_the_modified_time('U')) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated hide" datetime="%3$s">%4$s</time>';
}
上のコードをよく見ると、updated hide
というものすごく怪しいワードがある
hide をstyle.cssで確認したら、案の定
.hide{
display :none;
}
になっており
もしかして、hide を publishedに変更したら表示されるんじゃね?
と思い変更してみたら!出た(笑)
いとも簡単に更新日が表示された
全ての日付がくっついて出てきたので、<time>の間にアイコンを入れてみました。
ちょっと見てくださいよ
わざわざ更新してみた投稿
なぜリンクされているのかはわからない。けど、まぁいいや