Visa relativa datum för WordPress-inlägg

Ett trevligt alternativ till hur man kan visa datumet för ett WordPress-inlägg kan vara att använda relativa datum, genom att visa hur länge sedan ett inlägg publicerades. Till exempel, ”inlägget publicerades för 2 dagar sedan”.

WordPress-funktionen human_time_diff beräknar tidsskillnaden mellan två datum och skriver ut resultatet på ett användarvänligt sätt. De två datum som vi använder är serverns tidsstämpeln och inläggets tidsstämpel.

Du byter helt ut nuvarande funktion i din WordPress-mall för att skriva ut tid mot följande funktion:

Uppdatering: Tobias Sjösten uppmärksammade mig i kommentarerna om att det inte är helt lysande att hårdkoda frasen ”sedan”, eftersom WordPress inte kan översätta strängen automatiskt med i18n. Jag uppdaterade därför funktionen så att den fungerar oberoende av språk.

Det här inlägget postades i WordPress. Bokmärk permalänken.
  • http://twitter.com/jalet Joakim Jarsäter

    Finns också en jQuery-plugin som heter ”timeago” om jag inte minns helt fel. Den uppdateras i realtid utan att sidan behöver laddas om. Kan vara snyggt att använda på kommentarer.

    [EDIT]
    https://github.com/rmm5t/jquery-timeago/blob/master/jquery.timeago.js

  • http://vvv.tobiassjosten.net/ Tobias Sjösten

    Blir det inte problem med i18n om du hårdkodar ”sedan” på det sättet?

  • Anonym

    Helt sant. Vad tror du om den här lösningen?

    $timestamp = human_time_diff(get_the_time(‘U’), current_time(‘timestamp’));  
    printf(__(‘%s ago’), $timestamp);

  • http://vvv.tobiassjosten.net/ Tobias Sjösten

    Gött! Det borde fungera.

    Ingen aning om hur human_time_diff() lirar med i18n dock.