Comment puis-je mettre "posté il y a x minutes sur mes posts?

4

wordpress par défaut écrit la date sur les publications, mais comment puis-je la transformer en: "x" il y a de temps ?? comme il y a 3 jours ou 5 minutes ??

    
posée 11.12.2011 - 23:59

2 réponses

2
function k99_relative_time() { 
    $post_date = get_the_time('U');
    $delta = time() - $post_date;
    if ( $delta < 60 ) {
        echo 'Less than a minute ago';
    }
    elseif ($delta > 60 && $delta < 120){
        echo 'About a minute ago';
    }
    elseif ($delta > 120 && $delta < (60*60)){
        echo strval(round(($delta/60),0)), ' minutes ago';
    }
    elseif ($delta > (60*60) && $delta < (120*60)){
        echo 'About an hour ago';
    }
    elseif ($delta > (120*60) && $delta < (24*60*60)){
        echo strval(round(($delta/3600),0)), ' hours ago';
    }
    else {
        echo the_time('j\<\s\u\p\>S\<\/\s\u\p\> M y g:i a');
    }
}

puis mettez k99_relative_time() ; dans le fichier de thème où vous souhaitez que cela apparaisse.

    
réponse donnée krembo99 12.12.2011 - 00:01
5

Wordpress a une fonction intégrée appelée human_time_diff () qui vous permet de le faire.

Il suffit de placer ce code dans votre fichier functions.php

function time_ago( $type = 'post' ) {
    $d = 'comment' == $type ? 'get_comment_time' : 'get_post_time';

    return human_time_diff($d('U'), current_time('timestamp')) . " " . __('ago');

}

Pour l'utiliser n'importe où dans votre thème (par exemple, sur single.php), placez ce code à l'endroit où vous souhaitez afficher la fonctionnalité "heure antérieure":

<?php echo time_ago(); ?>

Faites-moi savoir si cela a fonctionné pour vous.

    
réponse donnée Sosthenes Kwame Boame 12.12.2011 - 08:22

Lire d'autres questions sur les étiquettes