我对WordPress的工作方式有些怀疑the_date() 定义为的功能general-template.php
在一个页面中,我将使用以下代码片段将帖子归档到一个循环中:
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header>
<h3 class="entry-title">
<a href="<?php the_permalink(); ?>"
title="<?php printf(__(\'Permalink to %s\', \'your-theme\'), the_title_attribute(\'echo=0\')); ?>"
rel="bookmark"><?php the_date("d/m/Y"); echo " - "; the_title(); ?>
</a>
</h3>
</header>
</article> <!-- #post-<?php the_ID(); ?> -->
问题是,对于某些帖子
the_date() 功能给我的职位和其他职位的日期没有。
我附上一张我获得的照片:
正如您所看到的,一些帖子显示为:DATE - POST TITLE 但其他一些帖子显示为POST TITLE 没有标题前的日期。
我觉得这很奇怪,因为所有的帖子都有发布日期。
所以我尝试使用调试器,看看当the_date() 函数具有以下代码:
function the_date( $d = \'\', $before = \'\', $after = \'\', $echo = true ) {
global $currentday, $previousday;
if ( $currentday != $previousday ) {
$the_date = $before . get_the_date( $d ) . $after;
$previousday = $currentday;
/**
* Filter the date a post was published for display.
*
* @since 0.71
*
* @param string $the_date The formatted date string.
* @param string $d PHP date format. Defaults to \'date_format\' option
* if not specified.
* @param string $before HTML output before the date.
* @param string $after HTML output after the date.
*/
$the_date = apply_filters( \'the_date\', $the_date, $d, $before, $after );
if ( $echo )
echo $the_date;
else
return $the_date;
}
return null;
}
它包含以下条件陈述:
if ( $currentday != $previousday ) {
我看到一些帖子的价值
$currentday 和的
$previousday 是相同的,所以函数
return null同时阅读我可以找到的函数文档:
/**
* Display or Retrieve the date the current post was written (once per date)
*
* Will only output the date if the current post\'s date is different from the
* previous one output.
*
* i.e. Only one date listing will show per day worth of posts shown in the loop, even if the
* function is called several times for each post.
*
* HTML output can be filtered with \'the_date\'.
* Date string output can be filtered with \'get_the_date\'.
那么,究竟是什么代表了S 2变量呢?如果它们相同,为什么不返回日期?如何解决此问题并显示日期?