Apply filters on date format

时间:2020-05-08 作者:Pierre L.

我使用Wordpress主题,其中格式日期和时间直接编码为两种格式:

<?php the_time(\'d M\'); ?>

<?php the_time(\'H:i\'); ?>
我想要的:

显示wordpress选项中定义的日期和时间我不想在子主题中创建修改过的模板,我更喜欢使用函数。我已经在函数中添加了php。php此代码有效:

add_filter( \'the_time\', \'changer_date_format\', 10, 1 ); //override time display
function changer_date_format( $ladate ) {
    global $post;
    $ladate = get_post_time( get_option( \'date_format\' ), false, $post, true ); 
    return $ladate;
} 
但这个解决方案的问题是I can just apply either the date or the time wordpress option for the 2 cases \\u时间(\'d M\')和\\u时间(\'H:i\'),我想分别申请:

案例的时间wordpress选项\\u TIME(\'H:i\')

  • 案例的日期wordpress选项\\u TIME(\'d M\')
    1 个回复
    最合适的回答,由SO网友:Antti Koskinen 整理而成

    根据规范参考the_time 过滤器接收两个参数-$get_the_time$format. 您可以使用后者来确定要使用哪个格式选项。

    add_filter( \'the_time\', \'changer_date_format\', 10, 2 );
    function changer_date_format( $ladate, $format ) {
      global $post;
      if ( \'d M\' === $format ) {
        return get_post_time( get_option( \'date_format\' ), false, $post, true ); 
      } else if ( \'H:i\' === $format ) {
        return get_post_time( get_option( \'time_format\' ), false, $post, true ); 
      } else {
        return $ladate;
      }  
    } 
    

    相关推荐