WP-RelativeDate

Popis

WP-RelativeDate přepisuje data vašich příspěvků a komentářů tak, aby vyjadřovala, jak dlouho tomu je: „Dnes“, „Včera“, „Před 2 dny“, „Před 2 týdny“, „Před 2 hodinami“, „Před 2 minutami“, „Před 2 sekundami“.

Není třeba nic konfigurovat a neexistuje žádná obrazovka s nastavením. WP-RelativeDate přepíše data vašich příspěvků a komentářů ihned po aktivaci a vše, co je starší než jeden měsíc nebo pochází z předchozího roku, ponechá přesně tak, jak to zobrazuje vaše šablona.

Funkce

  • Příspěvek/Komentář Datum
    • Dnes
    • Včera
    • Před X dny
    • Před X týdny
  • Čas zveřejnění/komentáře
    • Před X sekundami
    • Před X minutami
    • Před X hodinami

Dary

Většinu svého volného času jsem věnoval tvorbě, aktualizaci, údržbě a podpoře těchto pluginů. Pokud se vám moje pluginy opravdu líbí a mohli byste mi věnovat pár dolarů, velmi bych to ocenil. Pokud ne, můžete je klidně používat bez jakýchkoli závazků.

Použití

Nemusíte nic dělat. Plugin WP-RelativeDate automaticky upraví zobrazení data nebo času vašeho příspěvku či komentáře. Pokud je příspěvek nebo komentář starší než jeden měsíc, nebude k němu přidán žádný text.

Příklady

  • Příspěvek/Komentář Datum
    • Dnes
    • Včera
    • 10. ledna 2007 (před 2 dny)
    • 25. ledna 2007 (před 2 týdny)
  • Čas zveřejnění/komentáře
    • 21:10 (před 2 sekundami)
    • 21:15 (před 5 minutami)
    • 22:15 (před 2 hodinami)

Zkrácené kódy

  • [relativedate]
    • [relativedate date_format="jS F Y" ago_only="false"]
  • [relativetime]

    • [relativetime time_format="H:i" ago_only="false"]

    Funkce ago_only odstraní datum nebo čas a ponechá pouze relativní výraz. Akceptuje hodnoty true/false, 1/0, yes/no a on/off.

Šablonové značky

  • relative_post_the_date( $format, $before, $after, $ago_only, $display ) — přímá náhrada za funkci the_date(). $before a $after obsahují značky, přesně stejně jako v the_date().

Vypnutí pro jednu šablonu

Plugin nemá žádnou obrazovku s nastavením. Chcete-li ponechat data šablony beze změny, odstraňte filtr před smyčkou:

remove_filter( 'get_the_date', 'relative_post_date', 999 );

Čtyři zpětná volání jsou relative_post_date v rámci funkce get_the_date, relative_post_time v rámci funkce get_the_time, relative_comment_date u get_comment_date a relative_comment_time u get_comment_time, všechny s prioritou 999.

Odstranění filtru get_the_date se týká také funkce the_date(), která vytváří svůj výstup voláním funkce get_the_date(). Totéž platí pro the_time(), comment_date() a comment_time().

Snímky obrazovky

Instalace

  1. Nainstalujte a aktivujte plugin.

To je vše. Neexistuje žádná obrazovka s nastavením a není co konfigurovat: data vašich příspěvků a komentářů se přepíší, jakmile se plugin aktivuje, a vše, co je starší než jeden měsíc, zůstane přesně tak, jak to zobrazovala vaše šablona.

Nejčastější dotazy

Zobrazit relativní datum u každého příspěvku

  • Pokud chcete ve všech příspěvcích zobrazovat relativní datum, použijte ve svém šabloně funkci relative_post_the_date() namísto the_date().

Proč se znaky „“ kolem data v mém šabloně začaly zobrazovat jako text?

  • Jednalo se o chybu ve verzi 1.51.1, která byla opravena ve verzi 2.0.0. Funkce relative_post_the_date() prováděla únik vlastních argumentů $before a $after. Řešením je aktualizace; není třeba měnit šablonu.

Data mých příspěvků jsou v šabloně typu „block“ stále zobrazena jako prostý text

  • Toto se týká pouze WordPressu 6.9 a novějších verzí. Od verze 6.9 jádrový blok „Post Date“ získává datum prostřednictvím Block Bindings a formátuje ho samo, aniž by volalo funkci get_the_date() nebo poskytovalo filtr, takže žádný plugin nemůže změnit to, co se zobrazí. Ve WordPressu 6.8 tento blok stále volá get_the_date() a relativní data příspěvků fungují i v blokových šablonách.
  • Data komentářů zůstávají beze změny ve všech podporovaných verzích – blok „Datum komentáře“ i nadále volá funkci get_comment_date(). Data příspěvků také fungují normálně v klasických šablonách a všude tam, kde šablona volá the_date(), get_the_date(), the_time() nebo get_the_time().
  • Chcete-li v šabloně bloku získat relativní datum zveřejnění, použijte zkrácený kód [relativedate] nebo zavolejte funkci relative_post_the_date() z vzoru bloku nebo části šablony.

Použil jsem `ago_only=“false“` a datum se nyní znovu zobrazuje

  • ago_only="false" bylo vždy dokumentováno jako hodnota „false“, ale až do verze 2.0.0 jej plugin interpretoval jako „true“. Pokud jste se na to spoléhali, použijte ago_only="true", abyste zachovali výstup pouze pro starší záznamy.

Ukládá tento plugin nějaké údaje do mé databáze?

  • Jeden řádek, a to ještě velmi krátký. Není třeba nic nastavovat, takže plugin neukládá vůbec žádná nastavení – pouze wp_relativedate_version, což zaznamenává verzi, která byla naposledy spuštěna, aby aktualizace věděla, z jaké verze se provádí. Odstranění pluginu z obrazovky „Pluginy“ ho zcela vymaže.

Recenze

Přečtěte si všechny 2 recenze

Autoři

WP-RelativeDate je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Plugin „WP-RelativeDate“ byl přeložen do 5 jazyků. Děkujeme všem překladatelům za jejich pomoc.

Přeložte “WP-RelativeDate” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

2.0.0

  • AKTUÁLNÍ ZPRÁVA: Vyžaduje WordPress 6.8 a PHP 8.2, což představuje zvýšení požadavků oproti verzím 6.0 a 7.4.
  • AKTUÁLNÍ ZPRÁVA: Zpětná volání příspěvků byla přesunuta z the_date/the_time na get_the_date/get_the_time. Pokud jste šablonu vyřadili pomocí remove_filter( 'the_date', 'relative_post_date', 999 ), použijte místo toho název getteru.
  • NOVINKA: Přepracováno do includes/, přičemž výpočty data a času jsou nyní realizovány v třídě WP_RelativeDate_Core.
  • NOVINKA: Byl přidán řádek wp_relativedate_version a soubor uninstall.php, který jej odstraní jak na jednotlivém webu, tak v celé síti.
  • NOVINKA: Byla přidána sada testů PHPUnit a automatizované testování (CI) pomocí GitHub Actions.
  • ZMĚNA: Obě zpětné volání pro zkrácené kódy jsou nyní metodami třídy WP_RelativeDate. Zkrácené kódy se odstraňují podle značky, takže funkce remove_shortcode( 'relativedate' ) zůstává beze změny.
  • OPRAVENO: Datumy příspěvků nyní fungují v jakémkoli šabloně, která používá get_the_date() nebo get_the_time(), tedy ve všech klasických šablonách od Twenty Nineteen. Plugin dříve využíval pouze funkce the_date() a the_time(), takže se u většiny šablon zdálo, že nefunguje.
  • OPRAVENO: Datumy komentářů nyní fungují i v blokových šablonách. Blok „Datum komentáře“ z jádra předává komentář jako argument a nikdy nenastavuje globální proměnnou, ze které plugin čerpá data.
  • OPRAVENO: Funkce relative_post_the_date() již neprovádí únikové kódování proměnných $before a $after, což od verze 1.51.1 způsobovalo, že se <h2> a podobné prvky zobrazovaly jako doslovný text.
  • OPRAVENO: ago_only="false" nyní znamená „false“. Dokumentovaný zápis byl vždy vykládán jako „true“.
  • OPRAVENO: Data příspěvků a komentářů již nevyvolávají chybu „Attempt to read property on null“, pokud v rozsahu není žádný příspěvek ani komentář, což mohlo způsobit widget s nejnovějšími komentáři.
  • OPRAVENO: U obsahu s datem starším než aktuální čas na serveru se již nezobrazuje „(-300 sekund před“.
  • OPRAVENO: Byla odstraněna funkce load_plugin_textdomain(), která ve WordPressu 6.7 a novějších verzích vyvolávala chybu _doing_it_wrong.