Popis
WP-PostRatings přidává ovládací prvek pro hodnocení k jakémukoli příspěvku, stránce nebo vlastnímu typu příspěvku. Návštěvníci vyberou hodnotu, hlas se odešle na pozadí a výsledek se zobrazí na místě bez nutnosti načtení stránky.
Funkce
- Ten rating shapes, drawn with CSS rather than shipped as images, so they stay sharp at any size and cost no HTTP requests — numbers among them, for a scale whose points are read rather than counted.
- Škála nebo obousměrný ovladač nahoru/dolů s nastavením v barvách pro jmenovitý a nenaměřený výkon.
- Šablonové tagy a zkrácený kód pro příspěvky s nejvyšším hodnocením, nejvíce hodnocené, s nejnižším hodnocením a s nejvyšším počtem bodů, případně v rámci konkrétní kategorie, štítku nebo časového období.
- Protokol hodnocení s tříditelnými sloupci, filtry, hromadným mazáním a možnostmi obrazovky.
- Značkování rich snippetů pro příspěvek a jeho souhrnné hodnocení v Google.
- Widget v postranním panelu a sekce na stránce WP-Stats, pokud je tento plugin nainstalován.
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í
Nejjednodušším způsobem, a zároveň jediným, který funguje v blokovém šabloně bez úpravy šablonových souborů, je shortcode. Vložte jej do příspěvku nebo stránky, kterou chcete nechat ohodnotit:
[hodnocení]hodnotí příspěvek, ve kterém se nachází.[ratings id="1"]zobrazí hodnocení příspěvku č. 1, ať už jej umístíte kamkoli.[ratings id="1" results="true"]zobrazuje výsledek příspěvku č. 1, aniž by tam kdokoli mohl hlasovat.
Chcete-li automaticky přidávat hodnocení ke každému příspěvku, může klasická šablona vyvolat šablonový tag z single.php, archive.php nebo index.php kdekoli uvnitř smyčky:
<?php the_ratings(); ?>
Nastavení najdete na adrese WP-Admin –> Hodnocení –> Nastavení, kde jsou k dispozici záložky „Nastavení“ a „Šablony“.
Zobrazení hodnocení A v bloku
V editoru je k dispozici blok Hodnocení v sekci Widgety. Ve postranním panelu jsou k dispozici dvě nastavení:
- ID příspěvku — ponechte hodnotu nula, chcete-li zobrazit hodnocení příspěvku, ve kterém se blok nachází (což odpovídá prázdnému
[ratings]), nebo zadejte ID, chcete-li zobrazit hodnocení jiného příspěvku, ať už blok umístíte kamkoli. - Zobrazit pouze výsledek — zobrazí hodnocení, aniž by nabídlo možnost jej změnit; slouží k umístění skóre příspěvku tam, kde by nemělo být možné o něm hlasovat. To je funkce, kterou plní
results="true".
Vykresluje se to přímo na serveru, takže náhled v editoru zobrazuje skutečné hodnocení, nikoli pouze přibližnou hodnotu, a jakékoli změny tvaru, barev nebo šablon se promítnou do všech příspěvků, kde se daný prvek objevuje, aniž by bylo nutné cokoli znovu ukládat. Náhled je záměrně neaktivní: kliknutí na hodnocení v editoru by zaznamenalo skutečný hlas.
Krátký kód stále funguje a nikam nezmizí. [ratings], [ratings id="1"] a [ratings id="1" results="true"] se chovají přesně tak, jak vždy, a příspěvek, který již některý z nich obsahuje, není třeba měnit. Blok volá stejný kód jako zkrácený kód, takže se oba vykreslují identicky — použijte ten, který se k příspěvku hodí.
WP-CLI
wp postratings list
wp postratings list --limit=50 --format=json
wp postratings get 42
wp postratings delete 42 --yes
wp postratings delete --all --what=logs
Hodnocení se ukládá na dvou místech – v průběžných součtech zobrazených u každého příspěvku a v řádku pro každý hlas v protokolu. --what určuje, které z nich se mají vymazat: protokoly, data nebo obojí, přičemž obojí je výchozí nastavení.
REST API
GET /wp-json/postratings/v1/post/<id>
POST /wp-json/postratings/v1/post/<id>/rate
Zobrazení je veřejné, protože hodnocení je veřejné. Hodnocení využívá stejný wp_postratings_<id>-nonce, který již vykreslený ovládací prvek obsahuje, předávaný jako parametr nonce, a podléhá stejným nastavením oprávněnosti a opakovaného hodnocení jako hodnocení prováděné prostřednictvím stránky.
Každá odpověď obsahuje jak vykreslený kód, tak i čísla, protože o vzhledu hodnocení rozhodují vaše šablony a zvolený tvar.
A refusal answers 403, not 400 — a rating already cast, a rating off the end of the scale, a bad nonce. 400 is kept for a parameter this plugin never had a chance to look at. A post that does not exist answers 404, and so does one you are not allowed to rate — a draft belonging to somebody else answers exactly as a deleted post does, rather than confirming it is there.
Tyto trasy jsou nově přidány. Akce admin-ajax.php wp_postratings zůstává beze změny a je i nadále podporována.
Snímky obrazovky
Bloky
Tento plugin poskytuje 1 blok.
- Ratings A rating control for a post, or its result on its own.
Instalace
- Nainstalujte a aktivujte plugin.
- Přejděte na
WP-Admin -> Hodnocení -> Nastavenía vyberte tvar, stupnici a uživatele, kteří mohou hodnotit. - Chcete-li tento ovládací prvek zobrazit, zadejte do příspěvku
[ratings], přidejte blok Ratings nebo ve své šabloně zavolejte funkcithe_ratings().
Nejčastější dotazy
-
Jak mohu změnit barvu hodnocení?
-
Přejděte na
WP-Admin -> Hodnocení -> Nastavenía podívejte se do sekce Text a hodnota jednotlivých hodnocení. Každý stupeň na stupnici má vlastní dvojici barevných vzorků ve sloupcích Ohodnoceno a Nehodnoceno, k čemuž sloužily staré sady obrázkůstars_crystalastars_dark.Při najetí myší se zobrazí barva hodnocení. Pokud byste raději odlišili stav „chystám se vybrat“ od stavu „již zaznamenáno“, nastavte ve svém šabloně
--wp-postratings-color-hover. -
Jak mohu změnit velikost, mezery nebo barvu při najetí myší?
-
Vše, co přesahuje tyto dvě barvy, představuje vlastní vlastnost CSS na stránce
.wp-postratings, takže ve vašem šabloně stačí pouze toto:.wp-postratings { --wp-postratings-size: 24px; --wp-postratings-gap: 4px; --wp-postratings-color-hover: #f7c56b; }Před verzí 2.0.0 znamenala odlišná barva celou samostatnou složku obrázků, a proto plugin dodával
stars,stars_crystalastars_darksamostatně. Nyní mají všechny stejný tvar. -
Jak mohu použít vlastní tvar hodnocení?
-
Register it with the
wp_postratings_shapesfilter. It then appears on the Ratings Settings screen like any built-in shape, and unlike the old approach of dropping a folder intowp-content/plugins/wp-postratings/images/, it survives an update.add_filter( 'wp_postratings_shapes', function ( $shapes ) { $shapes['diamond'] = array( 'type' => 'scale', 'label' => 'Diamonds', 'path' => 'M12 2l10 10-10 10L2 12z', ); return $shapes; } );Cesta představuje data cesty ve formátu SVG vykreslená v rámečku o rozměrech 24×24. Pro ovládací prvek typu „nahoru/dolů“ použijte
'type' => 'updown'a místo'path'zadejte cesty'up'a'down'.For a scale whose points are numbers rather than a repeated glyph, use
'type' => 'numeric'and supply no path at all — the position is the glyph:add_filter( 'wp_postratings_shapes', function ( $shapes ) { $shapes['points'] = array( 'type' => 'numeric', 'label' => 'Points', ); return $shapes; } );A numeric shape is still a scale, so it appears under Scale on the settings screen and everything that reads a rating goes on reading it the same way. Only the drawing changes.
-
Každý návštěvník může hodnotit opakovaně, nebo každý záznam v protokolu hodnocení vykazuje stejnou IP adresu
-
This is about the Header That Contains The IP field on the Ratings Settings screen.
Nechte toto pole prázdné, pokud váš web skutečně není za reverzním proxy serverem nebo službou CDN, jako je například Cloudflare. Prázdné pole znamená, že plugin použije adresu, kterou váš webový server skutečně zaznamenal, což je u běžného hostingu žádoucí.
Pokud používáte proxy, uveďte přesný název hlavičky, kterou váš proxy nastavuje, například
HTTP_CF_CONNECTING_IPv případě Cloudflare neboHTTP_X_FORWARDED_FORu většiny vyvažovačů zátěže. Je dobré vědět dvě věci:- Návštěvník může odeslat libovolnou hlavičku. Pokud pojmenujete hlavičku tak, že ji váš vlastní systém nenastavuje ani nepřepíše, může do ní kdokoli vložit, co chce, a hodnotit tolikrát, kolikrát se mu zlíbí.
X-Forwarded-Forje seznam:klient, proxy1, proxy2. Od verze 2.0.0 plugin načítá první platnou adresu z tohoto seznamu, místo aby ukládal celý řetězec. Před verzí 2.0.0 ukládal celý řetězec, což znamenalo, že návštěvník mohl připojit ještě jednu adresu a při každém požadavku se tak jevit jako někdo nový.
Vzhledem k tomu, že se formát uloženého údaje změnil, záznamy o hodnocení zaznamenané prostřednictvím takového záhlaví před verzí 2.0.0 již nebudou odpovídat a někteří návštěvníci budou moci hodnocení provést ještě jednou. Záznamy zaznamenané bez nastavení tohoto pole tím nejsou dotčeny.
-
Jak změnit typ schématu?
-
<?php add_filter( 'wp_postratings_schema_itemtype', 'wp_postratings_schema_itemtype' ); function wp_postratings_schema_itemtype( $itemtype ) { return 'itemscope itemtype="https://schema.org/Recipe"'; } ?>Výchozí typ schématu je „Article“. Pokud jej chcete změnit na „Recipe“, musíte použít filtr
wp_postratings_schema_itemtype, jak je uvedeno v ukázkovém kódu výše. -
Jak přidat logo svého webu pro rozšířené výňatky Google
-
<?php add_filter( 'wp_postratings_site_logo', 'wp_postratings_site_logo' ); function wp_postratings_site_logo( $url ) { return 'https://example.com/logo.png'; } ?>Ve výchozím nastavení plugin použije jako logo vašeho webu adresu obrázku v záhlaví webu. Pokud jej chcete změnit, musíte využít filtr
wp_postratings_site_logo, jak je uvedeno v ukázkovém kódu výše. -
Jak změnit text, který čte čtečka obrazovky?
-
add_filter( 'wp_postratings_ratings_image_alt', function ( $label ) { return $label; } );Toto je popis, který čte čtečka obrazovky u zobrazeného hodnocení, například „4 hlasy, průměr: 3,70 z 5“. Od verze 2.0.0 se hodnocení vykresluje pomocí CSS namísto obrázků, takže se zde nepoužívají atributy
altanititle; hodnotou se stává atributaria-labelu hodnocení.Vrácení prázdného řetězce vede k odstranění hodnocení, k čemuž se tento filtr obvykle používal. Mějte na paměti, že tím hodnocení zůstane zcela bez přístupného názvu, takže uživatelé čteček obrazovky o něm nedostanou žádnou informaci. Upřednostněte přeformulování před odstraněním.
-
add_filter( 'wp_postratings_display_comment_author_ratings', '__return_true' );Ve výchozím nastavení se hodnocení autorů komentářů nezobrazují. Pokud chcete tato hodnocení zobrazit, musíte použít filtr
wp_postratings_display_comment_author_ratings, jak je uvedeno v ukázkovém kódu výše. -
function custom_rating_cookie_expiration() { return strtotime( 'tomorrow' ) ; } add_filter( 'wp_postratings_cookie_expiration', 'custom_rating_cookie_expiration', 10, 0 );Výchozí doba platnosti souboru cookie je „time() + 30000000“. Pokud chcete změnit délku platnosti, musíte použít filtr
wp_postratings_cookie_expiration, jak je uvedeno v ukázkovém kódu výše. -
Jak plugin WP-PostRatings načítá CSS?
-
Většina úprav vzhledu již vůbec nevyžaduje žádný soubor CSS: barvy se nastavují v konfiguraci a velikost, mezery i barva při najetí myší jsou vlastní vlastnosti. Nejprve si přečtěte obě výše uvedené otázky.
Pokud chcete stylový list nahradit celý, WP-PostRatings načte soubor
wp-postratings.cssz adresáře vašeho šablony (nebo z jeho podadresářecss/), pokud tento soubor existuje; v opačném případě načte svou vlastní kopii, takže aktualizace vaše styly nepřepíše.Všimněte si, že se ve verzi 2.0.0 změnil název souboru: dříve to bylo
postratings-css.css. Šablona, která stále používá starý název, bude jednoduše ignorována a místo ní se načte vlastní stylový list pluginu. Neexistuje již ani samostatný stylový list pro RTL, protože pravidla využívají logické vlastnosti. -
Jak používat statistiky hodnocení s widgety?
-
- Přejděte na
WP-Admin -> Vzhled -> Widgety - Název widgetu je „Hodnocení“.
- Přejděte na
-
Zobrazit příspěvek s nejnižším hodnocením
-
<?php if (function_exists('get_lowest_rated')): ?> <ul> <?php get_lowest_rated(); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_lowest_rated(‚both‘, 0, 10)
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejnižším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejnižším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejnižším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 příspěvků/stránek s nejnižším hodnocením.
-
Zobrazení příspěvku s nejnižším hodnocením podle štítku
-
<?php if (function_exists('get_lowest_rated_tag')): ?> <ul> <?php get_lowest_rated_tag(TAG_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_lowest_rated_tag(TAG_ID, ‚both‘, 0, 10)
- Nahraďte TAG_ID ID svého tagu. Pokud chcete, aby se tag vztahoval na více kategorií, nahraďte TAG_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejnižším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejnižším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejnižším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 příspěvků/stránek s nejnižším hodnocením.
-
Zobrazení příspěvku s nejnižším hodnocením v dané kategorii
-
<?php if (function_exists('get_lowest_rated_category')): ?> <ul> <?php get_lowest_rated_category(CATEGORY_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_lowest_rated_category(CATEGORY_ID, ‚both‘, 0, 10)
- Nahraďte CATEGORY_ID ID vaší kategorie. Pokud chcete, aby se to vztahovalo na více kategorií, nahraďte CATEGORY_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejnižším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejnižším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejnižším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 příspěvků/stránek s nejnižším hodnocením.
-
Zobrazit příspěvek s nejvyšším hodnocením
-
<?php if (function_exists('get_highest_rated')): ?> <ul> <?php get_highest_rated(); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_rated(‚both‘, 0, 10)
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení příspěvku s nejvyšším hodnocením podle štítku
-
<?php if (function_exists('get_highest_rated_tag')): ?> <ul> <?php get_highest_rated_tag(TAG_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_rated_tag(TAG_ID, ‚both‘, 0, 10)
- Nahraďte TAG_ID ID svého tagu. Pokud chcete, aby se tag vztahoval na více kategorií, nahraďte TAG_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení příspěvku s nejvyšším hodnocením v dané kategorii
-
<?php if (function_exists('get_highest_rated_category')): ?> <ul> <?php get_highest_rated_category(CATEGORY_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_rated_category(CATEGORY_ID, ‚both‘, 0, 10)
- Nahraďte CATEGORY_ID ID vaší kategorie. Pokud chcete, aby se to vztahovalo na více kategorií, nahraďte CATEGORY_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším hodnocením.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším hodnocením, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším hodnocením, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení příspěvku s nejvyšším hodnocením za dané období
-
<?php if (function_exists('get_highest_rated_range')): ?> <ul> <?php get_highest_rated_range('1 day'); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_rated_range(‚1 den‘, ‚oba‘, 10)
- Hodnota „1 den“ bude odpovídat požadovanému časovému rozmezí. Můžete použít „2 dny“, „1 měsíc“ atd.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení nejlépe hodnoceného příspěvku
-
<?php if (function_exists('get_most_rated')): ?> <ul> <?php get_most_rated(); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_most_rated(‚both‘, 0, 10)
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení nejlépe hodnoceného příspěvku v dané kategorii
-
<?php if (function_exists('get_most_rated_category')): ?> <ul> <?php get_most_rated_category(CATEGORY_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_most_rated_category(CATEGORY_ID, ‚both‘, 0, 10)
- Nahraďte CATEGORY_ID ID vaší kategorie. Pokud chcete, aby se to vztahovalo na více kategorií, nahraďte CATEGORY_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení nejlépe hodnoceného příspěvku za dané období
-
<?php if (function_exists('get_most_rated_range')): ?> <ul> <?php get_most_rated_range('1 day'); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_most_rated_range(‚1 den‘, ‚oba‘, 10)
- Hodnota „1 den“ bude odpovídat požadovanému časovému rozmezí. Můžete použít „2 dny“, „1 měsíc“ atd.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazit příspěvek s nejvyšším skóre
-
<?php if (function_exists('get_highest_score')): ?> <ul> <?php get_highest_score(); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_score(‚both‘, 0, 10)
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení příspěvku s nejvyšším skóre v dané kategorii
-
<?php if (function_exists('get_highest_score_category')): ?> <ul> <?php get_highest_score_category(CATEGORY_ID); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_score_category(CATEGORY_ID, ‚both‘, 0, 10)
- Nahraďte CATEGORY_ID ID vaší kategorie. Pokud chcete, aby se to vztahovalo na více kategorií, nahraďte CATEGORY_ID hodnotou array(1, 2), kde 1 a 2 jsou ID vašich kategorií.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 0 označuje minimální počet hlasů, který je nutný k tomu, aby se příspěvek zobrazil.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Zobrazení příspěvku s nejvyšším počtem bodů za dané období
-
<?php if (function_exists('get_highest_score_range')): ?> <ul> <?php get_highest_score_range('1 day'); ?> </ul> <?php endif; ?>- Výchozí nastavení: get_highest_score_range(‚1 den‘, ‚oba‘, 10)
- Hodnota „1 den“ bude odpovídat požadovanému časovému rozmezí. Můžete použít „2 dny“, „1 měsíc“ atd.
- Při zadání hodnoty „both“ se zobrazí jak příspěvky, tak stránky s nejvyšším počtem hodnocení.
- Pokud chcete zobrazit pouze příspěvky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „post“.
- Pokud chcete zobrazit pouze stránky s nejvyšším počtem hodnocení, nahraďte „both“ slovem „page“.
- Hodnota 10 zobrazí pouze 10 nejlépe hodnocených příspěvků/stránek.
-
Seřadit příspěvky s nejvyšším/nejnižším hodnocením
-
$query = new WP_Query( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC', ) );Nebo zadejte proměnné přímo do adresy URL:
https://yoursite.com/?r_sortby=highest_rated&r_orderby=descChcete-li zobrazit příspěvky s nejnižším hodnocením, nahraďte
desczaasc. -
Seřadit příspěvky s nejvyšším/nejnižším počtem hodnocení
-
$query = new WP_Query( array( 'meta_key' => 'ratings_users', 'orderby' => 'meta_value_num', 'order' => 'DESC', ) );Nebo zadejte proměnné přímo do adresy URL:
https://yoursite.com/?r_sortby=most_rated&r_orderby=descChcete-li zobrazit příspěvky s nejnižším hodnocením, nahraďte
desczaasc.V těchto příkladech se používá
WP_Querynamístoquery_posts(), které se používalo v dřívějších příkladech:query_posts()nahrazuje hlavní dotaz a WordPress jeho používání již řadu let nedoporučuje. Chcete-li místo toho seřadit hlavní dotaz, použijtepre_get_posts.
Recenze
Autoři
WP-PostRatings je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.
SpolupracovníciPlugin „WP-PostRatings“ byl přeložen do 14 jazyků. Děkujeme všem překladatelům za jejich pomoc.
Přeložte “WP-PostRatings” 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.1
- NEW: Numbers is a rating shape again. It was the one pre-2.0.0 image set with no shape to land on — every other set was a glyph repeated once per point, and a CSS mask cannot differ per position — so it was parked on circles, and a site that had chosen numbers came back from the update to five identical circles with no way to get the digits back. Numbers is now a shape of its own, offered under Scale beside the others, and the
numbersimage set maps onto it. It draws as one continuous bar of cells rather than five floating glyphs, and takes its colours from the Rated and Not rated settings like every other shape, so it has no palette of its own. Sites already migrated onto circles can simply select it; nothing about their ratings changes, only what those ratings are drawn with - NEW:
wp_postratings_shapesaccepts'type' => 'numeric', for a scale drawn as its own positions. Such a shape needs no path, and the digits follow the site’s locale - FIXED: The shape picker grouped its rows by the shape’s exact type rather than by the control it is — a scale, or a pair of opposing actions. Any shape whose type was neither of the two words the radios offer landed in a group no radio could select and stayed hidden
- NEW: A Settings link on the plugin’s row on the Plugins screen
- FIXED: A visitor who may not rate is now told the actual reason. One template covers every refusal and it carried a single sentence written for one of them, so a site set to Guests Only refused a logged-in member and then told them to become a registered member — the one thing that would not have helped. The three reasons now read separately, and the sentence comes from a new
%RATINGS_PERMISSION%variable. The update puts that variable into the stored Ratings No Permission Text in place of the old sentence, so an existing site gets the corrected wording without touching its settings — and a site that had reworded that sentence keeps its own wording untouched. - FIXED: The numbers shape drew its box two different ways — the sides as a border on the container, the top and bottom as inset shadows on the bar inside it. Same colour, but the sides fell on the page background while the top and bottom fell on the bar’s own tint, so the sides came out at several times the contrast and the box read as two heavy verticals with nothing joining them. All four edges are now drawn together, and the bar is no longer two pixels narrower than the box around it.
- FIXED: Only one request at a time runs the outstanding upgrade. Until the plugin records itself as current the check runs on every front-end request, and the part of it that adds the log table’s indexes reads the table’s index list and then alters the table — so on a busy site two requests could both find an index missing and both try to add it, the second waiting on the first for as long as the alter took.
- CHANGED: A stylesheet named
wp-postratings.cssin the parent theme now overrides the plugin’s copy too; a child theme’s copy still wins over both - FIXED: The comment author ratings display, which a theme opts into with the
wp_postratings_display_comment_author_ratingsfilter, showed nothing at all on a block theme. It read the comment from a global that only a classic theme’s comment loop sets; a block theme renders each comment through the comment template block, which passes the comment along instead and leaves that global empty. The comment now comes from where thecomment_textfilter puts it, so the display works on both. - FIXED: The comment author ratings display, which is off unless a theme opts in, still cost its query: every page with a loop fetched every rating the displayed post had ever received, then threw them away. Sites that have not opted in no longer pay it — one query fewer on every page, and on a heavily rated post it was not a small one.
- CHANGED: The stylesheet and script load only on pages that actually render a rating — from the template tags, the shortcode, the block, the widget, the statistics lists or the comment author display. Pages with no rating on them no longer carry either file; pages with one get both — in the head where the page’s content already shows a rating coming, in the footer for the renders the head cannot see.
- FIXED: Nothing unpublished could be rated by anybody, including the people who wrote it. 2.0.0 required a post to be publicly viewable before it would accept a rating — which stops a stranger rating your drafts, and was the point — but it never asked who was rating, so a site whose editors rate their own drafts, pending or private posts got
Invalid Post IDon every vote. A post you can already read is now ratable whether or not the public can see it, and the message no longer blames the post ID, which is rarely what is wrong with it. - NEW:
wp_postratings_is_ratablefilters whether a given post may be rated at all, for sites whose answer is neither of the two above. - CHANGED: The REST error code for a post that may not be rated is
wp_postratings_not_ratablerather thanwp_postratings_no_such_post. The status is still 404, deliberately: a 403 would tell a stranger that the draft exists.
2.0.0
- OPRAVENO: Hodnotit bylo možné jakýkoli příspěvek podle ID, nejen ten zveřejněný. Návštěvník, který se nikdy nepřihlásil, mohl zadat
ratings_users,ratings_scorearatings_averageu konceptu, příspěvku čekajícího na schválení, soukromého nebo smazaného příspěvku – takže se v den zveřejnění objevil již ohodnocený – a nezveřejněný název byl zkopírován do tabulky protokolů, kde jej poté zobrazovala obrazovka Protokoly. Na webu, který do textové šablony vložil%POST_TITLE%nebo%POST_CONTENT%, odpověď přímo vracela nezveřejněný obsah. Jak akce AJAX, tak trasa REST nyní vyžadují příspěvek, který je skutečně veřejně viditelný - NOVINKA: Příkazy WP-CLI pro
wp postratings—list,getadelete, s parametrem--what=logs|data|both. - NOVINKA: REST API
postratings/v1pro načtení hodnocení příspěvku a jeho přidání. Akcewp_postratingsv souboruadmin-ajax.phpzůstává beze změny a je i nadále podporována. - NOVINKA: Blok Hodnocení pro editor, který v postranním panelu obsahuje ID příspěvku a přepínač pro zobrazení pouze výsledků. Vykresluje se na serveru pomocí stejného kódu jako zkrácený kód, takže náhled v editoru zobrazuje skutečné hodnocení. Zkrácený kód
[ratings]zůstává beze změny a je i nadále podporován – blok je pouze doplňkem, není třeba nic migrovat a příspěvky, které již obsahují zkrácený kód, není třeba upravovat. - BREAKING: Requires WordPress 6.8 and PHP 8.2.
- BREAKING: The rating images are gone. All 16 image sets and their 121 GIF and PNG files are replaced by 10 shapes drawn with CSS, so ratings are sharp on every screen and cost no HTTP requests. Your chosen set is migrated automatically to the matching shape: stars, stars_crystal, stars_dark, stars_png and stars_flat_png all become
star, thumbs becomesthumb, and so on. If you added your own folder toimages/it will fall back to stars; see the FAQ for how to register a custom shape properly, which unlike the old folder survives an update. - AKTUÁLNÍ ZPRÁVA: Značkování hodnocení se zcela změnilo. Škála je nyní tvořena skupinou přepínačů a ovládací prvek pro zvýšení/snížení hodnocení představuje dvojici tlačítek, takže se tento ovládací prvek správně oznamuje čtečkám obrazovky a lze jej ovládat pomocí klávesnice. Každá třída a identifikátor prvku má nyní předponu ve formě zkráceného názvu pluginu:
.post-ratingsje nyní.wp-postratings,.post-ratings-imagejiž vůbec neexistuje a ID obalového prvku jewp-postratings-123namístopost-ratings-123. Barva, velikost a mezery jsou vlastní vlastnosti CSS, což obvykle znamená nahrazení jediného řádku; viz často kladené otázky. - AKTUÁLNÍ ZPRÁVA: Obrázky hlasování již neobsahují atributy
onmouseover/onclick; události při najetí myší a kliknutí jsou zpracovávány jedním delegovaným posluchačem. Vlastní CSS nebo JavaScript, který cílil na tyto vestavěné obslužné funkce nebo přímo volalcurrent_rating()čirate_post(), je třeba aktualizovat. - AKTUÁLNÍ ZPRÁVA: Akce
rate_postbyla přejmenována nawp_postratings_rate_posta původní název byl odstraněn bez přechodného řešení. Její tři argumenty zůstávají beze změny. - AKTUÁLNÍ ZPRÁVA: Všechny třídy byly přejmenovány na
WP_PostRatings_*, a vlastní třídy pluginu se již nejmenujíPostratings_*.RATINGS_IMG_EXTse nyní jmenujeWP_POSTRATINGS_IMG_EXT. - BREAKING: The settings screen moved to
WP-Admin -> Ratings -> Settings, atadmin.php?page=wp-postratings-settings. Settings and Templates are the two tabs of that one page rather than two menu entries. - AKTUÁLNÍ ZPRÁVA: Řádky s možnostmi byly přejmenovány. Patnáct řádků
postratings_*se sloučilo do jednohowp_postratings_optionsa dva samostatné řádky označující verzi se sloučily do jednohowp_postratings_version. Vaše nastavení se automaticky převedou při prvním načtení stránky po aktualizaci. - AKTUÁLNÍ ZPRÁVA: Sdílené řádky nastavení bez předpony
stats_displayastats_mostlimitse již nečtou. Integrace WP-Stats nyní probíhá prostřednictvím dvou vlastních nastavení tohoto pluginu na záložce Nastavení a WP-Stats žádá každý plugin o jeho sekci prostřednictvím filtruwp_stats_sections, místo aby četl nastavení jiných pluginů. Aktualizujte všech sedm pluginů podporujících WP-Stats najednou; viz Oznámení o aktualizaci. - AKTUÁLNÍ ZPRÁVA: Pokud nastavíte „Záhlaví obsahující IP adresu“ (pro Cloudflare, vyvažovač zátěže nebo jakýkoli reverzní proxy server), je toto záhlaví nyní analyzováno jako řetězec „forwarded-for“, kterým ve skutečnosti je, a použije se pouze první platná adresa v něm obsažená. Dříve se ukládala celá hodnota hlavičky, takže návštěvník mohl hodnotit opakovaně pouhým připojením další adresy. Stávající záznamy o hodnocení zaznamenané prostřednictvím takové hlavičky již nebudou odpovídat, takže někteří návštěvníci budou moci hodnotit ještě jednou. Nechte pole prázdné, pokud skutečně nejste za proxy. Viz Často kladené otázky.
- AKTUÁLNÍ ZPRÁVA: Funkce „Metoda zaznamenávání hodnocení“ se nyní nazývá „Kontrola opakovaných hlasů“ a již nerozhoduje o tom, zda se něco zaznamená. Jejím jediným úkolem bylo určit, s čím se vracející návštěvník porovná, a tyto dvě hodnoty ukazovaly opačným směrem: web, který zvolil možnost „Nezaznamenávat“ nebo „Zaznamenávat pomocí cookie“, neměl žádný záznam o hodnocení, žádné řádky na obrazovce protokolů a žádné údaje ve WP-Stats, což neodpovídá tomu, jak tyto možnosti znějí. Každý hlas je nyní zaznamenán bez ohledu na to, jak je tato volba nastavena. Možnosti znějí „Nekontrolovat“, „Kontrolovat pomocí cookie“, „Kontrolovat podle IP adresy“, „Kontrolovat pomocí cookie a IP adresy“ a „Kontrolovat podle uživatelského jména“; uložená čísla zůstávají nezměněna, takže vaše nastavení znamená to, co vždy znamenalo. Klíč volby uvnitř
wp_postratings_optionsjecheck_methodnamístologging_method, což bylo automaticky převedeno. - AKTUÁLNÍ ZPRÁVA: Filtr
wp_postratings_always_logjiž neexistuje. Tento filtr zajišťoval přesně výše popsané chování, které je nyní výchozí, a filtr, který by toto výchozí chování vynucoval, již nemá žádný účinek. Weby, které by raději neuchovávaly záznamy, používají místo toho opačný filtr: vrací hodnotu false zwp_postratings_log_ratinga žádný řádek se nezapíše. Vlastní skóre příspěvku a počet hlasů jsou součástí metadat příspěvku a aktualizují se v každém případě. - AKTUÁLNÍ ZPRÁVA: Šablona stylů se nyní jmenuje
wp-postratings.css, nikolipostratings-css.css, a neexistuje žádná samostatná šablona stylů pro RTL. Pokud vaše šablona obsahuje vlastní přepispostratings-css.css, nebude již načten; přejmenujte jej, nebo ještě lépe, použijte místo toho nastavení barev a vlastní vlastnosti CSS. - NOVINKA: Kód byl přepracován do podoby tříd v adresáři
includes/, takže plugin nyní funguje bez ohledu na název adresáře, do kterého je nainstalován. - NOVINKA: Nastavení byla přesunuta do rozhraní API nastavení WordPressu, přičemž obrazovky s možnostmi a šablonami byly sloučeny do jedné stránky s kartami.
- NOVINKA: Protokol hodnocení je nyní standardní tabulkou seznamu v systému WordPress, která obsahuje sloupce s možností třídění, hromadné mazání, vyhledávací pole a možnosti obrazovky.
- NOVINKA: Skripty jsou napsány v čistém JavaScriptu; závislost na jQuery byla odstraněna a efekt při najetí myší na hvězdičky je realizován čistě pomocí CSS, takže při pohybu myší se vůbec nic nespouští.
- NOVINKA: Barvy hodnocení se nastavují pro jednotlivá hodnocení, nikoli pro jednotlivé weby: každý řádek tabulky hodnocení má vlastní barvu pro hodnocené a nehodnocené položky, vedle nichž se nachází tlačítko „Obnovit výchozí nastavení“. Tato funkce nahrazuje dřívější barevné varianty sad obrázků, kdy změna barvy znamenala výběr jiné sady souborů.
- NOVINKA:
wp_postratings_shapesvám umožňuje nastavit vlastní tvar hodnocení. - NOVINKA:
WP_POSTRATINGS_TRUST_PROXYa filtrwp_postratings_trust_proxyse připojují k obvyklým hlavičkám reverzního proxy, aniž by konkrétní hlavičku jmenovaly. „Záhlaví obsahující IP adresu“ zůstává úzkou odpovědí – přesně to jedno záhlaví, které nastaví váš proxy server – a stále má přednost, pokud jsou zadány obě možnosti; konstanta představuje širokou odpověď, což znamená „vyzkoušejte sedm záhlaví, která proxy servery běžně používají“. WP-Email, WP-Polls, WP-Ban a WP-UserOnline již takto fungovaly; WP-PostRatings byl jediný, který tak nefungoval. - NOVINKA:
wp_postratings_capabilityfiltruje oprávnění, které vyžadují obrazovky pluginu; tím oprávněním je i nadálemanage_ratings. - NOVINKA: Stylový list podporuje vlastnosti
prefers-color-scheme: dark,prefers-contrast: moreaprefers-reduced-motion: reduce. - ZMĚNA: Hodnocení se nyní zobrazuje jako skutečné procento namísto zaokrouhlení na nejbližší polovinu obrázku, takže průměr 3,7 z 5 nyní vyplňuje 74 % hvězdiček, místo aby se zobrazovaly tři a půl.
- ZMĚNA: Filtry
RATINGS_IMG_EXTawp_postratings_image_extensionjiž nic nevybírají; nezbývají žádné obrazové soubory, které by měly příponu. Filtrwp_postratings_ratings_image_altzůstává, ale nyní nastavuje popisek hodnocení pro přístupnost namísto alternativního textu a názvu obrázku. - OPRAVENO: Plugin vyžadoval stylový soubor pro správce, který byl od roku 2020 prázdný.
- OPRAVENO: Soubor zámku pro jednotlivé příspěvky nebyl nikdy uvolněn, takže při každém hodnocení zůstal jeden takový soubor v dočasném adresáři serveru.
- OPRAVENO: Odinstalace v síti s více weby se zastavila po prvních 100 webech, přičemž na všech následujících webech zůstaly zachovány možnosti a tabulka hodnocení.
- OPRAVENO: Aktivace v rámci celé sítě se rovněž zastavila po 100 lokalitách.
- OPRAVENO: Hodnocení mimo nastavenou stupnici bylo zaznamenáno jako hlas bez hodnoty a v PHP 8 se zobrazovalo varování.
- OPRAVENO: Hodnocení autorů komentářů se nikdy neshodovalo s IP adresou, takže tato funkce byla nepozorovaně nefunkční od chvíle, kdy se hodnocení začala ukládat v hashované podobě.
- OPRAVENO: Sadu obrázků s hodnocením „čísly“ se nepodařilo uložit; systém nahlásil úspěšné uložení a vrátil se k hvězdičkám.
- OPRAVENO: Názvy příspěvků obsahující apostrof se v protokolu ukládaly s nadbytečným zpětným lomítkem.
- OPRAVENO: Seznam hodnocení vždy uváděl, že je seřazen „sestupně“, bez ohledu na to, jaké pořadí bylo zvoleno.
- OPRAVENO: Při smazání všech údajů o hodnocení zůstávaly v mezipaměti každého příspěvku hodnoty, které byly právě odstraněny.
- OPRAVENO: Četná varování PHP 8 na administračních obrazovkách a v nenakonfigurovaném widgetu.
- NOVINKA: Pokud u příspěvku s možností „lajk“/„dislajk“ není zobrazen žádný výsledek, zobrazí se místo toho váš vlastní hlas. Remíza neukazuje na nic, takže pokud jste příspěvek ohodnotili „dislajkem“ a skončili na remíze, objevila se prázdná dvojice, která vypadala přesně jako ovládací prvek, na který jste právě klikli – jako by hlas nebyl zaznamenán. Váš hlas je v daném okamžiku jediným směrem, který lze poctivě přiřadit, a proto se zobrazí s popiskem „Ohodnotili jste tento příspěvek záporně“. Příspěvek, který má výsledek hlasování, jej nadále zobrazuje: příspěvek s poměrem hlasů 500 ku 3 ve prospěch nesmí být pro jediného návštěvníka, který nesouhlasil, vnímán jako palec dolů. Váš hlas pochází z cookies „již ohodnoceno“ nebo z protokolu hodnocení, pokud se kontrola opakovaného hlasování provádí podle uživatelského jména. Záměrně se nikdy nesrovnává s IP adresou: za proxy serverem nebo v mobilní síti sdílí mnoho návštěvníků jednu adresu, takže by to někomu, kdo nikdy nehlasoval, naznačovalo, že
- OPRAVENO: Hodnocení „pro“/„proti“ bez konečného verdiktu bylo vyhodnoceno jako hlas „proti“. Nula není směr: příspěvek, který nikdo nehodnotil, i příspěvek s rovným počtem hlasů „pro“ a „proti“ mají oba průměr nula a u obou se zobrazoval rozsvícený palec dolů. Nyní se u nich zobrazuje neosvětlená dvojice. Tím se také opravuje to, co vidí web po přepnutí ze stupnice na ovládací prvek „lajk/dislajk“ – hlas „lajk“ nebo „dislajk“ má hodnotu -1 nebo +1, takže skóre na stupnici hvězdiček je příliš velké na to, aby odpovídalo hodnotě 1, a jeho interpretace jako směru způsobovala, že se každý dříve ohodnocený příspěvek zobrazoval jako palec nahoru, což nemohlo změnit žádné množství hlasů dolů. Takový příspěvek nyní zobrazuje neosvětlenou dvojici, dokud jeho hlasy nahoru/dolů nepřeváží jeho historii, a počet hlasů i skóre se zobrazují přesně tak, jak jsou uloženy v systému
- OPRAVENO: Při tmavém barevném schématu zůstávaly neohodnocené tvary světle šedé, jak bylo nastaveno pro světlou stránku, a příliš se leskly. Výchozí tmavé schéma je vlastnost nastavená na kontejneru
the_ratings()– ale widget, zkrácený kód i blok, pokud jsou vyžádány pouze výsledky, zobrazují hodnocení bez tohoto kontejneru, takže nic, co vykreslily, tuto vlastnost nezdědilo. Totéž platilo i pro výchozí vysokokontrastní schéma.
