How do I format the post date in Wordpress?

2019-03-18 07:32发布

I have a sidebar where I want to show the most recent posts. Right now it shows the title, date, and an excerpt. The date shows the time which I want to get rid of. I show the date using this: $recent["post_date"]

 <?php
$args = array( 'numberposts' => '3' );
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
    echo '<li id="sidebar_text"><b>'.$recent["post_title"].'</b></li><li style="font-size:12px">'.$recent["post_date"].'</li><li><i style="font-size:15px">'.$recent["post_excerpt"].'</i><a href="'.get_permalink($recent["ID"]).'"> Read   More</a></li>';
     }
 ?>

It shows the date like this: 2013-08-11 18:29:04 and I would like it like this 8-11-2013 and without the time. Thanks in advance.

3条回答
相关推荐>>
2楼-- · 2019-03-18 08:01

Whilst Syfaro's answer is correct, best practice is to use WordPress's own function for this.

get_the_date

This defaults to the format set in the WordPress admin settings (Settings -> General), so gives a more accessible solution for future editing - particularly useful if you roll your code in multiple sites, or more importantly if you release it publicly.

Also, don't forget to escape output - check out esc_html and esc_html_e

查看更多
来,给爷笑一个
3楼-- · 2019-03-18 08:13

Replace $recent["post_date"] with mysql2date('n-j-Y', $recent['post_date']).

查看更多
时光不老,我们不散
4楼-- · 2019-03-18 08:18
date('n-j-Y', strtotime($recent['post_date']));

This formats it the way you want. Just replace the $recent['post_date'] in your loop with that.

查看更多
登录 后发表回答