Relativní časování
Relativní časování znáte například z Facebooku, kde se místo: zpráva byla vytvořena DD.MM.YYYY HH:MM:SS jednoduše napíše před minutou. Podobný systém můžete využít i ve WordPressu a to jak v publikovaných příspěvcích, tak v komentářích vašich návštěvníků.
V šabloně si budete muset najít, kde se vypisuje čas, což je práce jen pro vás. Já vám jen mohu poradit, že se to většinou provádí funkcemi the_date a the_time. Ty pak stačí nahradit novou funkcí, kterou si vložíte do souboru functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
function cas() { $hodina = 60 * 60; date_default_timezone_set('Europe/Prague'); $rozdil = Time() - get_the_time('U'); if ($rozdil < 60) { if ($rozdil == 1) echo "před sekundou"; else echo "před " . $rozdil . " sekundami"; } elseif ($rozdil < 60 * 100) { if (round($rozdil / 60) == 1) echo "před minutou"; else echo "před " . round($rozdil / 60) . " minutami"; } elseif ($rozdil < 24 * $hodina) { if (round($rozdil / ($hodina)) == 1) echo "před hodinou"; else echo "před " . round($rozdil / ($hodina)) . " hodinami"; } elseif ($rozdil < 7 * 24 * $hodina) { if (round($rozdil / ($hodina * 24)) == 1) echo "před 1 dnem"; else echo "před " . round($rozdil / ($hodina * 24)) . " dny"; } elseif ($rozdil < 30 * 24 * $hodina) { if (round($rozdil / (7 * $hodina * 24)) == 1) echo "před týdnem"; else echo "před " . round($rozdil / (7 * $hodina * 24)) . " týdny"; } elseif ($rozdil < 12 * 30 * 24 * $hodina) { if (round($rozdil / (30 * $hodina * 24)) == 1) echo "před měsícem"; else echo "před " . round($rozdil / (30 * $hodina * 24)) . " měsíci"; } else echo get_the_time() . " " . get_the_date(); } |
Do vaší šablony poté stačí vložit cas(); Jestli nechcete v relativním časování zobrazovat například měsíce, stačí škodlivé řádky vymazat. Pokud chcete kod využít pro komentáře, musíte změnit get_the_time na get_comment_time.
Napsat komentář