最近发帖列表中的相对发帖日期

时间:2016-04-17 作者:Arete

我基本上整晚都在做这件事,我意识到我被卡住了。

我的wordpress主题中有一个侧边栏,显示最近的帖子。侧栏如下所示:

enter image description here

在每个标题下,我想以“相对样式”显示发布日期,例如“两天前发布”。

我知道<?php echo human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') ) . \' ago\'; ?> 将生成相对日期,但我不知道如何在我已有的相同代码中实现它。

我还需要能够样式与自定义CSS这个日期戳。

This is the php I have for the sidebar:

<?php
$args = array( \'post_status\' => \'publish\', \'numberposts\' => \'30\', \'tax_query\' => array(
    array(
        \'taxonomy\' => \'post_format\',
        \'field\' => \'slug\',
        \'terms\' => \'post-format-aside\',
        \'operator\' => \'NOT IN\'
        ), 
    array(
        \'taxonomy\' => \'post_format\',
        \'field\' => \'slug\',
        \'terms\' => \'post-format-image\',
        \'operator\' => \'NOT IN\'
        )
    ) );
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
    echo \'<div class="sidebar-entries">\';
    echo get_the_post_thumbnail( $recent[\'ID\'], \'sidebar-thumb\', array( \'class\' => \'sidebar-image\' ) );
    echo \'<div class="sidebar-entries-title">\';
    echo \'<a href="\' . get_permalink($recent["ID"]) . \'">\' .   ( __($recent["post_title"])).\'</a></div></div> \';

    // echo human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') ) . \' ago\';
}
?>

2 个回复
最合适的回答,由SO网友:darrinb 整理而成

您不会使用生成WP循环wp_get_recent_posts() 所以get_the_time() 不会取消发布日期。发布日期在阵列中可用wp_get_recent_posts() 尽管返回:$recent[\'post_date\']. 也可以使用修改后的日期:$recent[\'post_modified\'].

这项工作(在我的开发网站上测试):

<?php
$args = array(
    \'post_status\' => \'publish\', 
    \'numberposts\' => \'30\', 
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'post_format\',
            \'field\' => \'slug\',
            \'terms\' => \'post-format-aside\',
            \'operator\' => \'NOT IN\'
            ), 
        array(
            \'taxonomy\' => \'post_format\',
            \'field\' => \'slug\',
            \'terms\' => \'post-format-image\',
            \'operator\' => \'NOT IN\'
            )
        ) 
);
$recent_posts = wp_get_recent_posts( $args );
?>
<div class="sidebar-entries">
<?php 
foreach( $recent_posts as $recent ){        
    echo \'<div class="sidebar-entry">\';
        echo get_the_post_thumbnail( $recent[\'ID\'], \'sidebar-thumb\', array( \'class\' => \'sidebar-image\' ) );
        echo \'<div class="sidebar-entries-title">\';
            echo \'<a href="\' . get_permalink( $recent["ID"] ) . \'">\' . __( $recent["post_title"] ) . \'</a>\';
            echo \'<span class="posted-on">\' . human_time_diff( strtotime( $recent[\'post_date\'] ), current_time(\'timestamp\') ) . \' ago </span>\';
        echo \'</div>\';
    echo \'</div>\';
}
?>
</div>
(不过需要注意的是,不要只是从Codex中复制/粘贴代码。如果不需要其中的分类参数,请不要将其包含在内。)

SO网友:Owais Alam

您可以通过编辑模板标记来实现这一点。inc目录中的php。

查找:

sprintf( \'<a class="entry-date" href="%s">%s</a>\', esc_url( get_permalink() ), $output_time )
替换:

sprintf( \'<a class="entry-date" href="%s">%s</a>\', esc_url( get_permalink() ), $regular_time )
查找:

sprintf( \'<a class="entry-date" href="%s">%s</a>\', esc_url( get_permalink() ), $output_time ),
替换:

sprintf( \'<a class="entry-date" href="%s">%s</a>\', esc_url( get_permalink() ), $regular_time ),

相关推荐

为什么我的主题的css在另一个网站上不起作用

我在Neve theme的基础上开发我的on theme。首先,我对脚本有问题,因为它不起作用,但我不得不从页脚更改它们的位置。php到标题。php的一切都很好。新的一些脚本无法工作,因为css根本没有加载。我尝试了5种不同的方法,但都失败了。标题中的。php我只是给他们<style> </style></我在函数中使用了寄存器样式。php,标题。php和页脚。php function my_theme_enqueue_styles() { &#x