2017-01-10 18 views
2

これはWord Press/PHPの質問です(非常に初心者です)。最新のブログ投稿へのリンクを挿入し、次のコードを使用して投稿日付を挿入しようとしています。ワードプレス:get_the_date()関数が間違った日付を返す

<div class="latest_post"> 
    <ul><li><span class="recent_blog">LATEST POST</span><?php 
    $args = array(
     'numberposts' => 1, 
     'category' => 71, 
     'post_status' => 'publish', 
    ); 
    $recent_posts = wp_get_recent_posts($args); 
    foreach($recent_posts as $recent) { 
     echo '<a href="' . get_permalink($recent["ID"]) . '"> <strong>' . $recent["post_title"].'</strong></a>'; 
    } 
    wp_reset_query(); 
    ?> (<?php echo get_the_date('Y/m/d'); ?>)</li></ul> 
</div><!-- .latest_post --> 

しかし、​​は、私はそれがどこから来見当がつかない間違った日「(2015年4月23日)」を返します。それは(2017/01/02)であるはずです。どこに間違っていたのか誰にでも教えてもらえますか?または、正しい日付を取得するための他の方法はありますか?

ありがとうございます!

+0

: - HTTPS:/ /developer.wordpress.org/reference/functions/get_the_date/(投稿が書き込まれた日付を取得します)。投稿日時を返すと思います。正しい日付を使用したい場合は、 '<?php echo date( 'Y/m/d');?> ' –

+1

ありがとう、私は' <?php echo date( 'Y/m/d');?> 'を試しましたが、これは2017/01/02ではなく今日の日付を返しました。 – Joey

+1

最新の投稿(2017/01/02)の公開日が必要です。また、新しい投稿が公開されるたびに自動的に日付が更新されるようにします。 – Joey

答えて

4

: - https://developer.wordpress.org/reference/functions/get_the_date/

どちらかそう

(それは。ポストが書かれた日付を取得します。)その特定の掲載日

を取得するには、この関数にポストIDを提供します

それとも

あなたは、現在の日付をしたい場合は、あなたが使用することができます: -

<?php echo date('Y/m/d');?> 

私はあなたが以下のようにしなければならないと思う: -

foreach($recent_posts as $recent) { 
    echo '<a href="' . get_permalink($recent["ID"]) . '"> <strong>' . $recent["post_title"].'</strong></a>'; 
    echo get_the_date('Y/m/d',$recent["ID"]); 
} 
基準で
+0

私はそれが完了したと思います(申し訳ありません、私はここで非常に新しいです)! – Joey

+0

@喜んでお手伝いします。歓声:) :) –

+0

@Joey投稿の予定日(2017/01/02)ではなく、あなたが参照している「間違った日付」(2015/04/23)が表示された理由に関する情報:** get_the_date * *動作は_always_に日付を返すことです。したがって、投稿IDが** get_the_date **呼び出しに与えられておらず、投稿が取得できるコンテキスト(is_date())にない場合は、最後の手段として* * get_the_date **は、Wordpress DBの 'wp_posts'テーブルの' post_date'フィールドをページ自体に使用します(Wordpress Pagesは 'wp_posts'テーブルにも格納されますが' page_type'の 'page_type'を持っています)。これが役に立つと願っています。 – John

1

上記のように使用する必要があります。

<?php echo get_the_date($format, $post_id); ?> 

$format
(列)(オプション)PHPの日付形式。 デフォルト:DATE_FORMATオプション(設定の「日付形式」>一般的なパネル)

$post_id
(整数)(オプション)フェッチしたいポストのID。デフォルトでは、現在の投稿が取得されます。 デフォルト:ヌル

+0

ありがとうございます。投稿IDを追加すると、次の投稿が公開されたときに日付を自動更新することはできません。 – Joey

+0

私はあなたがそれをテストすることをお勧めします... –

1

、(https://codex.wordpress.org/Function_Reference/get_the_date

これは、現在の $ postが書かれた日付を取得します。その結果、日付:(2015/04/23)は、現在の投稿のリンクを作成しているアクティブなページを参照する可能性があります。

あなたは(新しいポストの)ポストIDを取得することができるならば、あなたは正しい日付を取得することができます: - 実際の参照に基づいてget_the_date($format, $post_id)

+0

ありがとう!このエコーget_the_date( 'Y/m/d'、$ recent ["ID"]);投稿された日付を取得して、完全に機能しました。ありがとう! – Joey

+0

心配しないで、うれしいよ:) – Boz

関連する問題