web-dev-qa-db-ja.com

投稿が実際に修正されている場合は修正時間を表示

投稿が変更された場合のみ投稿更新時刻を表示したいのですが、私は関数the_modified_time()を使用しています。だから私はちょうどポストがこのように見えることさえ修正されているかどうかをチェックするために使用することができるifステートメントがあることについて読みます

if (get_the_modified_time() != get_the_time())

だから私はそれが今このように見えるように時間自体が表示されているところに私のテンプレートにこれを入れました:

 if (get_the_modified_time() != get_the_time()){
    echo 'Last updated:' . the_modified_time();

}

そしてそれはまったく見せていません。だから、明らかに私はここで何かが足りない。

2
Usce

緩くあなたが持っているものはすでに動作するはずです。しかし、ほとんど問題はありません。

  1. 時間形式なしでこれらの関数を呼び出すと、(サイトの設定によっては)1:36 pmのような値が生成されますが、それらは完全に比較可能なものではありません。
  2. 投稿変更時刻は、予定投稿のように、公開されている時間よりlessになることがあります。

だから私はそれを次の行に沿って書くでしょう。

if ( get_the_modified_time( 'U' ) > get_the_time( 'U' ) ) {
    echo 'Last updated:' . get_the_modified_time();
}

Uフォーマットは数値のUnixタイムスタンプを表し、これは比較しやすいものです。

4
Rarst