WP-PostRatings

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

  1. Nainstalujte a aktivujte plugin.
  2. Přejděte na WP-Admin -> Hodnocení -> Nastavení a vyberte tvar, stupnici a uživatele, kteří mohou hodnotit.
  3. Chcete-li tento ovládací prvek zobrazit, zadejte do příspěvku [ratings], přidejte blok Ratings nebo ve své šabloně zavolejte funkci the_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_crystal a stars_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_crystal a stars_dark samostatně. Nyní mají všechny stejný tvar.

Jak mohu použít vlastní tvar hodnocení?

Register it with the wp_postratings_shapes filter. It then appears on the Ratings Settings screen like any built-in shape, and unlike the old approach of dropping a folder into wp-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_IP v případě Cloudflare nebo HTTP_X_FORWARDED_FOR u 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-For je 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 alt ani title; hodnotou se stává atribut aria-label u 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.

Jak zobrazit hodnocení autorů komentářů?

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.

Jak změnit dobu platnosti souborů cookie?

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.css z adresáře vašeho šablony (nebo z jeho podadresáře css/), 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?

  1. Přejděte na WP-Admin -> Vzhled -> Widgety
  2. Název widgetu je „Hodnocení“.

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=desc

Chcete-li zobrazit příspěvky s nejnižším hodnocením, nahraďte desc za asc.

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=desc

Chcete-li zobrazit příspěvky s nejnižším hodnocením, nahraďte desc za asc.

V těchto příkladech se používá WP_Query namísto query_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žijte pre_get_posts.

Recenze

26. 11. 2024
Seems that Lester Chan is not supporting this plugin. I am currently unable to update the plugin in WordPress without issues. He is not responsive. The plugin was also supposed to report the ratings to Google which is does not. Why does WP allow abandoned plugins to remain on their site? If the plugins are not supported by the developers they should be removed.
8. 4. 2024
Very great plugin, so far it works very well and meets expectations. The only thing I have a problem with is getting comfortable with adding custom icons, preferably as a path to the icon directory in the site theme instead of in the plugin.
1. 11. 2022
Один пользователь может оценить только 1 материал на сайте? Бред! Только зря потратил время на установку!
Přečtěte si všech 179 recenzí

Autoři

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

Spolupracovníci

Plugin „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 numbers image 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_shapes accepts '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.css in 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_ratings filter, 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 the comment_text filter 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 ID on 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_ratable filters 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_ratable rather than wp_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_score a ratings_average u 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 postratingslist, get a delete, s parametrem --what=logs|data|both.
  • NOVINKA: REST API postratings/v1 pro načtení hodnocení příspěvku a jeho přidání. Akce wp_postratings v souboru admin-ajax.php zů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 becomes thumb, and so on. If you added your own folder to images/ 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-ratings je nyní .wp-postratings, .post-ratings-image již vůbec neexistuje a ID obalového prvku je wp-postratings-123 namísto post-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 volal current_rating() či rate_post(), je třeba aktualizovat.
  • AKTUÁLNÍ ZPRÁVA: Akce rate_post byla přejmenována na wp_postratings_rate_post a 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_EXT se nyní jmenuje WP_POSTRATINGS_IMG_EXT.
  • BREAKING: The settings screen moved to WP-Admin -> Ratings -> Settings, at admin.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 jednoho wp_postratings_options a dva samostatné řádky označující verzi se sloučily do jednoho wp_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_display a stats_mostlimit se 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 filtru wp_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_options je check_method namísto logging_method, což bylo automaticky převedeno.
  • AKTUÁLNÍ ZPRÁVA: Filtr wp_postratings_always_log již 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 z wp_postratings_log_rating a žá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, nikoli postratings-css.css, a neexistuje žádná samostatná šablona stylů pro RTL. Pokud vaše šablona obsahuje vlastní přepis postratings-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_shapes vám umožňuje nastavit vlastní tvar hodnocení.
  • NOVINKA: WP_POSTRATINGS_TRUST_PROXY a filtr wp_postratings_trust_proxy se 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_capability filtruje oprávnění, které vyžadují obrazovky pluginu; tím oprávněním je i nadále manage_ratings.
  • NOVINKA: Stylový list podporuje vlastnosti prefers-color-scheme: dark, prefers-contrast: more a prefers-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_EXT a wp_postratings_image_extension již nic nevybírají; nezbývají žádné obrazové soubory, které by měly příponu. Filtr wp_postratings_ratings_image_alt zů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ý 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.
Sponsor
SponsoredKunjungi sekarang
Promo