web-dev-qa-db-ja.com

投稿日が昨日かどうか確認する

繰り返しますが、投稿の日付が昨日からの日付である場合は、 "昨日"を表示します。

だからここに行きます:

<?php
    if( date('Yz') == get_the_time('Yz') ) {
        echo 'Today';
    } elseif ( date('') == get_the_time('') ) {
        echo  'Yesterday';
    } else {
        the_date();
    };
?>

皆さんはelseif行の正しい構文を知っていますか?

よろしく、アレックス


まあ、私はまだ自分の質問に答えることができません。なぜなら、私は愛好家だからです(評判が十分ではありません)。だからここにあります:

<?php $w_h = $w_d = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php
    if ( date('Yz') == get_the_time('Yz') ) {
        if (!$w_d++) echo 'Today<br />';
    } elseif ( date('Yz')-1 == get_the_time('Yz') ) {
        if (!$w_h++) echo 'Yesterday<br />';
    } else {
        echo the_date();
    };
?>
1
flintsburg

ご存じのとおり、1つの解決策は次のようなものです。

<?php $w_h = $w_d = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php
    if ( date('Yz') == get_the_time('Yz') ) {
        if (!$w_d++) echo 'Today<br />';
    } elseif ( date('Yz')-1 == get_the_time('Yz') ) {
        if (!$w_h++) echo 'Yesterday<br />';
    } else {
        echo the_date();
    };
?>
1
Edd