- このトピックには7件の返信、2人の参加者があり、最後にKogaHiromichiにより3年、 7ヶ月前に更新されました。
-
投稿者投稿
-
2021年3月31日 10:48 AM #72158
*KogaHiromichiではなく、代理で五十嵐がコメントしています。
【お使いの Snow Monkey のバージョン】 13.2.1
【お使いの Snow Monkey Blocks のバージョン】 11.0.2
【お使いの Snow Monkey Editor のバージョン】 5.0.1
【お使いのブラウザ】 Chrome
【当該サイトのURL】 ローカル環境での確認### 発生している問題
投稿で表示してる更新日が、予約投稿を利用した場合、公開日時より「前」に記事の更新を行うと、更新日時にとして表示されてしまう。該当部分のコード。
function snow_monkey_entry_meta_items_modified() { if ( get_the_time( 'Ymd' ) === get_the_modified_time( 'Ymd' ) ) { return; } ?> <li class="c-meta__item c-meta__item--modified"> <i class="fas fa-sync-alt" aria-hidden="true"></i> <span class="screen-reader-text"><?php esc_html_e( 'Modified', 'snow-monkey' ); ?></span> <time datetime="<?php the_modified_time( 'c' ); ?>"><?php the_modified_time( get_option( 'date_format' ) ); ?></time> <?php } add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 );
### 試したこと
if ( get_the_time( 'Ymd' ) === get_the_modified_time( 'Ymd' ) )
ではなくてif ( get_the_time( 'Ymd' ) < get_the_modified_time( 'Ymd' ) )
にするのはどうでしょ。Twenty Nineteen では
get_the_time( 'U' ) !== get_the_modified_time( 'U' )
となってるので、必ずしも公開日時<更新日時ではなく「一致していない場合」としてるのだと思いますが、公開日時より古い日時が更新日時として表示されることに違和感がありました。
実装しないよということであればそれでも良いです。♥ 1いいねをした人: 居ません2021年3月31日 2:59 PM #72194あーなるほど! 予約投稿は考慮していませんでした。提案いただいたコードに変更しようと思います!
♥ 1いいねをした人: 居ません2021年4月1日 10:20 AM #72238*代筆五十嵐
@キタジマさん
ありがとうございます。
対応お待ちしております。※余談ですが
公開日時と更新日時を比較して一致していないという条件で
予約投稿のケースで公開日時より古い日時が更新日時として表示されるケースを探してみたところ、某SEOプラグインでも報告がありました(バグという扱いになってるが対応された形跡がない)。
あまり気にしないのですかね。。。♥ 0いいねをした人: 居ません2021年4月12日 10:05 AM #72995v14.0.3 で変更を入れました!
♥ 1いいねをした人: 居ません2021年4月13日 3:05 PM #73149*代筆五十嵐
@キタジマさん
v14.0.4で確認しました。
コードも見たのですが、下記の部分if ( get_the_time( 'Ymd' ) < get_the_modified_time( 'Ymd' ) ) { return; }
これだと公開日より更新日が新しい場合は処理しないでreturnしてるので、逆じゃないかと
if ( get_the_time( 'Ymd' ) > get_the_modified_time( 'Ymd' ) ) { return; }
♥ 0いいねをした人: 居ません2021年4月13日 3:15 PM #73150更新日のほうが小さい(古い)場合は表示しない…だから確かに逆ですね、失礼しました!
♥ 0いいねをした人: 居ません2021年4月13日 11:46 PM #73203v14.0.5 で修正しました!
♥ 0いいねをした人: 居ません2021年4月14日 11:13 AM #73291*代筆五十嵐
@キタジマさん
v14.0.5で確認しました。
概ねOKかと。※欲を言えば、予約公開日と更新日が同じ場合(例えばAMに記事作成して午後に公開)の場合も更新日が出てしまうので、日付までしか比較しないのであれば、以下のようになるかと。こっちは参考程度にとどめてください。
if ( get_the_time( 'Ymd' ) >= get_the_modified_time( 'Ymd' ) ) { return; }
秒含めて厳密に比較するためにUnix Epoch使うパターン
if ( get_the_time( 'U' ) > get_the_modified_time( 'U' ) ) { return; }
♥ 2いいねをした人: 居ません -
投稿者投稿
- トピック「更新日時の表示ロジック」には新しい返信をつけることはできません。