问题描述
两个函数都返回日期和时间。他们有什么区别?你有什么例子吗?谢谢。
最佳解决方案
他们非常相似,但有一些细微差别:
function get_the_date( $d = '' ) {
global $post;
$the_date = '';
if ( '' == $d )
$the_date .= mysql2date(get_option('date_format'), $post->post_date);
else
$the_date .= mysql2date($d, $post->post_date);
return apply_filters('get_the_date', $the_date, $d);
}
function get_the_time( $d = '', $post = null ) {
$post = get_post($post);
if ( '' == $d )
$the_time = get_post_time(get_option('time_format'), false, $post, true);
else
$the_time = get_post_time($d, false, $post, true);
return apply_filters('get_the_time', $the_time, $d, $post);
}
-
get_the_date()
始终适用于当前全局$post
,get_the_time()
允许您指定 post 作为参数。 -
它们默认为不同的格式,分别存储在
date_format
和time_format
选项中。 -
它们分别通过不同的过滤器
get_the_date
和get_the_time
加上低级别的get_post_time
。
次佳解决方案
the_date()
模板标签仅在每次出现时输出一次发布日期; 因此,如果两个或更多个帖子具有相同的发布日期,那么该日期仅在循环中首次出现时输出。 the_time()
模板标签根据正常输出发布时间 (使用任何有效的日期/时间字符串) 。
然而,get_the_date()
和 get_the_time()
模板标签基本相同。它们用于返回 the_date()
和 the_time()
的相应值。 As per the Codex:
Unlike
the_date()
this tag will always return the date. Modify output with ‘get_the_date’ filter.
所以,区别在于 get_the_*()
模板标签本身,而在 the_*()
模板标签中使用它们。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。