WP-PostRatings

Descripción

Utilización

  1. Abre wp-content/themes/<NOMBRE DE TU TEMA>/index.php
  2. Puedes ponerlo también en archive.php, single.php, post.php o page.php.
  3. Encuentra: <?php while (have_posts()) : the_post(); ?>
  4. Añade en cualquier lugar debajo (el lugar donde quieras que se muestren las valoraciones):<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
  • Si NO quieres que se muestren las valoraciones en cada entrada/página NO USES el código anterior. Simplemente teclea [ratings] en la entrada/página seleccionada y se incluirán las valoraciones solo en esa entrada/página.
  • Si quieres incluir las valoraciones de otra entrada usa [ratings id="1"], donde 1 es el ID de las valoraciones de la entrada/página que quieres mostrar.
  • Si quieres incluir los resultados de las valoraciones de otra entrada usa [ratings id="1" results="true"], donde 1 es el ID de los resultados de las valoraciones de la entrada/página que quieres mostrar.

Desarrollo

https://github.com/lesterchan/wp-postratings

Agradecimientos

Donaciones

Paso la mayoría de mi tiempo libre creando, actualizando, manteniendo y dando soporte a estos plugins, si de verdad te encantan mis plugins y puedes apoyarme con un par de monedas lo apreciaré enormemente. Si no, siéntete libre de usarlo sin ninguna obligación.

Capturas

  • Administración - Registro valoraciones abajo
  • Administración - Registro de valoraciones arriba
  • Administración - Opciones de valoraciones
  • Administración - Plantillas de valoraciones
  • Valoraciones
  • Valoraciones al pasar el cursor

FAQ

¿Cómo se cambia el tipo de schema?

<?php  
add_filter( 'wp_postratings_schema_itemtype', 'wp_postratings_schema_itemtype' );  
function wp_postratings_schema_itemtype( $itemtype ) {  
    return 'itemscope itemtype="http://schema.org/Recipe"';  
}  
?>

El tipo de schema por defecto es ‘Article’, si quieres cambiarlo a ‘Recipe’ tienes que usar el filtro wp_postratings_schema_itemtype como se muestra en el código de ejemplo anterior.

Cómo añadir el logotipo de tu sitio a los Google Rich Snippets

<?php  
add_filter( 'wp_postratings_site_logo', 'wp_postratings_site_logo' );  
function wp_postratings_site_logo( $url ) {  
    return 'http://placehold.it/350/150.png';  
}  
?>

Por defecto, el plugin usará la URL de la imagen de cabecera de tu sitio como logotipo del sitio. Si quieres cambiarlo tienes que usar el filtro wp_postratings_site_logo como se muestra en el código de ejemplo anterior.

¿Cómo quitar el texto alt y title de la imagen de las valoraciones?

<?php  
add_filter( 'wp_postratings_ratings_image_alt', 'wp_postratings_ratings_image_alt' );  
function wp_postratings_ratings_image_alt( $alt_title_text ) {  
    return '';  
}  
?>

¿Cómo se muestran las valoraciones de autores de comentarios?

add_filter( 'wp_postratings_display_comment_author_ratings', '__return_true' );

Por defecto no se muestran las valoraciones del autor del comentario. Si quieres mostrar las valoraciones tienes que usar el filtro wp_postratings_display_comment_author_ratings como se muestra en el código de ejemplo anterior.

¿Cómo usar imágenes PNG en vez de GIF?

function custom_rating_image_extension() {
    return 'png';
}
add_filter( 'wp_postratings_image_extension', 'custom_rating_image_extension' );

La extensión de imagen por defecto es ‘gif’, si quieres cambiarla a ‘png’ tienes que usar el filtro wp_postratings_image_extension como se muestra en el código de ejemplo anterior.

¿Cómo cambiar el tiempo de caducidad de la cookie?

function custom_rating_cookie_expiration() {
    return strtotime( 'tomorrow' ) ;
}
add_filter( 'wp_postratings_cookie_expiration', 'custom_rating_cookie_expiration', 10, 0 );

La caducidad de la cookie por defecto es ‘time() + 30000000’, si quieres cambiar la duración de la caducidad tienes que usar el filtro wp_postratings_cookie_expiration como se muestra en el código de ejemplo anterior.

¿Cómo carga WP-PostRatings el CSS?

  • WP-PostRatings cargará postratings-css.css del directorio de CSS de tu tema si existe.
  • Si no existe simplemente carga el CSS por defecto de ‘postratings-css.css’ que viene con WP-PostRatings.
  • Esto te permitirá actualizar WP-PostRatings sin preocuparte de que sobreescriba los estilos de valoraciones que hayas creado.

¿Cómo usan las estadísticas de valoraciones en los widgets?

  1. Ve a WP-Admin -> Apariencia -> Widgets
  2. El nombre del widget es Valoraciones.

Para mostrar la entrada menos valorada

<?php if (function_exists('get_lowest_rated')): ?>
    <ul>
        <?php get_lowest_rated(); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_lowest_rated(‘both’, 0, 10)
  • El valor ‘both’ mostrará las entradas y las páginas menos valoradas.
  • Si quieres mostrar solo las entradas con menos puntuación reemplaza ‘both’ con ‘post’.
  • Si quieres mostrar solo las páginas con menos puntuación reemplaza ‘both’ con ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas peor valoradas.

Para mostrar la entrada peor valorada por etiqueta

<?php if (function_exists('get_lowest_rated_tag')): ?>
    <ul>
        <?php get_lowest_rated_tag(TAG_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_lowest_rated_tag(TAG_ID, ‘both’, 0, 10)
  • Reemplaza TAG_ID por la que sea tu ID de etiqueta. Si quieres mostrar varias etiquetas reemplaza TAG_ID con array(1, 2) donde 1 y 2 son los ID de tus etiquetas.
  • El valor ‘both’ mostrará las entradas y las páginas menos valoradas.
  • Si quieres mostrar solo las entradas con menos puntuación reemplaza ‘both’ con ‘post’.
  • Si quieres mostrar solo las páginas con menos puntuación reemplaza ‘both’ con ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas peor valoradas.

Para mostrar la entrada peor valorada de una categoría

<?php if (function_exists('get_lowest_rated_category')): ?>
    <ul>
        <?php get_lowest_rated_category(CATEGORY_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_lowest_rated_category(CATEGORY_ID, ‘both’, 0, 10)
  • Reemplaza CATEGORY_ID por el que será el ID de tu categoría. Si quieres mostrar varias categorías reemplaza CATEGORY_ID con array(1, 2) donde 1 y 2 los los ID de tus categorías.
  • El valor ‘both’ mostrará las entradas y las páginas menos valoradas.
  • Si quieres mostrar solo las entradas con menos puntuación reemplaza ‘both’ con ‘post’.
  • Si quieres mostrar solo las páginas con menos puntuación reemplaza ‘both’ con ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas peor valoradas.

Para mostrar la entrada mejor valorada

<?php if (function_exists('get_highest_rated')): ?>
    <ul>
        <?php get_highest_rated(); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_rated(‘both’, 0, 10)
  • El valor ‘both’ mostrará tanto las entradas mejor valoradas como las páginas.
  • Si quieres mostrar solo las entradas mejor valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas mejor valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas mejor valoradas.

Para mostrar la entrada mejor valorada por etiqueta

<?php if (function_exists('get_highest_rated_tag')): ?>
    <ul>
        <?php get_highest_rated_tag(TAG_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_rated_tag(TAG_ID, ‘both’, 0, 10)
  • Reemplaza TAG_ID por la que sea tu ID de etiqueta. Si quieres mostrar varias etiquetas reemplaza TAG_ID con array(1, 2) donde 1 y 2 son los ID de tus etiquetas.
  • El valor ‘both’ mostrará tanto las entradas mejor valoradas como las páginas.
  • Si quieres mostrar solo las entradas mejor valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas mejor valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas mejor valoradas.

Para mostrar la entrada mejor valorada de una categoría

<?php if (function_exists('get_highest_rated_category')): ?>
    <ul>
        <?php get_highest_rated_category(CATEGORY_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_rated_category(CATEGORY_ID, ‘both’, 0, 10)
  • Reemplaza CATEGORY_ID por el que será el ID de tu categoría. Si quieres mostrar varias categorías reemplaza CATEGORY_ID con array(1, 2) donde 1 y 2 los los ID de tus categorías.
  • El valor ‘both’ mostrará tanto las entradas mejor valoradas como las páginas.
  • Si quieres mostrar solo las entradas mejor valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas mejor valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas mejor valoradas.

Para mostrar la entrada mejor valorada durante un periodo dado

<?php if (function_exists('get_highest_rated_range')): ?>
    <ul>
        <?php get_highest_rated_range('1 day'); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_rated_range(‘1 day’, ‘both’, 10)
  • El valor ‘1 day’ puede ser el rango que quieras. Puedes usar ‘2 days’, ‘1 month’, etc.
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar una entrada más valorada

<?php if (function_exists('get_most_rated')): ?>
    <ul>
        <?php get_most_rated(); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_most_rated(‘both’, 0, 10)
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar una entrada más valorada de una categoría

<?php if (function_exists('get_most_rated_category')): ?>
    <ul>
        <?php get_most_rated_category(CATEGORY_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_most_rated_category(CATEGORY_ID, ‘both’, 0, 10)
  • Reemplaza CATEGORY_ID por el que será el ID de tu categoría. Si quieres mostrar varias categorías reemplaza CATEGORY_ID con array(1, 2) donde 1 y 2 los los ID de tus categorías.
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar una entrada más valorada durante un periodo concreto

<?php if (function_exists('get_most_rated_range')): ?>
    <ul>
        <?php get_most_rated_range('1 day'); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_most_rated_range(‘1 day’, ‘both’, 10)
  • El valor ‘1 day’ puede ser el rango que quieras. Puedes usar ‘2 days’, ‘1 month’, etc.
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar la entrada mejor valorada

<?php if (function_exists('get_highest_score')): ?>
    <ul>
        <?php get_highest_score(); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_score(‘both’, 0, 10)
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar la entrada con mayor valoración de una categoría

<?php if (function_exists('get_highest_score_category')): ?>
    <ul>
        <?php get_highest_score_category(CATEGORY_ID); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_score_category(CATEGORY_ID, ‘both’, 0, 10)
  • Reemplaza CATEGORY_ID por el que será el ID de tu categoría. Si quieres mostrar varias categorías reemplaza CATEGORY_ID con array(1, 2) donde 1 y 2 los los ID de tus categorías.
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 0 se refiere al mínimo de votos requerido antes de que se muestre la entrada.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para mostrar la entrada con mayor valoración durante un periodo concreto

<?php if (function_exists('get_highest_score_range')): ?>
    <ul>
        <?php get_highest_score_range('1 day'); ?>
    </ul>
<?php endif; ?>
  • Por defecto: get_highest_score_range(‘1 day’, ‘both’, 10)
  • El valor ‘1 day’ puede ser el rango que quieras. Puedes usar ‘2 days’, ‘1 month’, etc.
  • El valor ‘both’ mostrará tanto las entradas más valoradas como las páginas.
  • Si quieres mostrar solo las entradas más valoradas reemplaza ‘both’ por ‘post’.
  • Si quieres mostrar solo las páginas más valoradas reemplaza ‘both’ por ‘page’.
  • El valor 10 mostrará solo las 10 entradas/páginas más valoradas.

Para ordenar las entradas más/menos valoradas

  • Puedes usar: <?php query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); ?>
  • O pasa las variables a la URL: http://tusitio.com/?r_sortby=highest_rated&amp;r_orderby=desc
  • Puedes reemplazar desc con asc si quieres mostrar las entradas con valoraciones más bajas.

Para ordenar entradas menos/más valoradas

  • Puedes usar: <?php query_posts( array( 'meta_key' => 'ratings_users', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); ?>
  • O pasa las variables a la URL: http://tusitio.com/?r_sortby=most_rated&amp;r_orderby=desc
  • Puedes reemplazar desc con asc si quieres las entradas menos valoradas.

Reseñas

1 de noviembre de 2022
Один пользователь может оценить только 1 материал на сайте? Бред! Только зря потратил время на установку!
Leer todas las 177 reseñas

Colaboradores y desarrolladores

«WP-PostRatings» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«WP-PostRatings» está traducido en 12 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «WP-PostRatings» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

Version 1.91.1

  • FIXED: Read from default REMOTE_ADDR unless specified in options

Version 1.91

  • NEW: Supports specifying which header to read the user’s IP from

Version 1.90.1

  • FIXED: Support mutex lock for multi-site.

Version 1.90

  • FIXED: Use mutex lock to prevent race condition

Version 1.89.1

  • FIXED: Change all http://schema.org to https://schema.org

Version 1.89

  • NEW: Added post_id to second argument of wp_postratings_expand_ratings_template.
  • NEW Removed passed by reference for get_post()

Version 1.88

  • NEW: Added filter wp_postratings_disable_richsnippet to disable richsnippet on the fly.
  • NEW: Added a setting in WP-Admin -> Ratings -> Rating Options to disable the ratings component of the Rich Snippet. Props @8ctopus

Version 1.87

  • FIXED: Rename filter expand_ratings_template to wp_postratings_expand_ratings_template for consistency.
  • FIXED: Remove wp_print_scripts
  • FIXED: Added additional to Google Structured Data despite it is no longer working. Will consider removing it next time
  • NEW: Added wp_postratings_ipaddress and wp_postratings_hostname to allow user to overwrite it.
  • NEW: Add loading alt text filer
  • NEW: Add wp_postratings_always_log filter to allow user to always log no matter what

Version 1.86.2

  • FIXED: Wrong type check for inser_half which affects half rating image.

Version 1.86.1

  • FIXED: Sanitize file name for images folder in WP-Admin

Version 1.86

  • NUEVO: IP eliminada y servidor anonimizado para hacer que cumpla con el RGPD
  • NEW: If Do Not Log is set in Rating Options, do not log to DB

Version 1.85

  • NEW: wp_postratings_post_thumbnail filter
  • FIXED: Take into consideration logging method when dealing with ratings in comments
  • FIXED: Compressed Images

Version 1.84.1

  • NEW: New wp_postratings_google_structured_data filter to filter Google Structured Data.
  • FIXED: unnamed-file.numbers due to sanitize_file_name().
  • FIXED: Generate the full path to image to prevent Googlebot from 404.

Version 1.84

  • NEW: Added ‘%POST_THUMBNAIL%’ Template variable.
  • NEW: Added ‘wp_postratings_cookie_expiration’ filter. Props @ramiy.
  • NEW: Added ‘wp_postratings_ratings_image_alt’ filter
  • NEW: Added more meta itemprops to pass Structured Data Testing Tool test
  • NEW: Remove po/mo files from the plugin. Props @ramiy.
  • NEW: Use translate.wordpress.org to translate the plugin. Props @ramiy.
  • NEW: Add phpDocs and update file headers. Props @ramiy.
  • NEW: Adds the ability to restrict voting rights to members of the blog. Props @stephenharris.
  • FIXED: Use the new admin headings hierarchy with H1, H2, H3 tags. Props @ramiy.
  • FIXED: Move *.js files to /js/ sub-folder. Props @ramiy.
  • FIXED: Move *.css files to /css/ sub-folder. Props @ramiy.
  • FIXED: Move the scripts to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Move the widget to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Move the shortcode to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Move activation hooks to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Move admin functions and hooks to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Move the i18n load to a separate file in /includes/ sub-folder. Props @ramiy.
  • FIXED: Replace die() with wp_die() and add i18n to the strings. Props @ramiy.
  • FIXED: Update translation strings to avoid using ‘post’ as the post type. Props @ramiy.
  • FIXED: Minor translation string fix. Props @ramiy.
  • FIXED: Update rating widget. Props @ramiy.
  • FIXED: Security hardening. Props @stephenharris.

Version 1.83.2

  • FIXED: Unauthenticated blind SQL injection in ratings_most_orderby(). Props @Ben Bidner from Automattic.

Version 1.83.1

  • FIXED: Remove No Results template from the_ratings_results()

Version 1.83

  • NEW: Added ‘wp_postratings_display_comment_author_ratings’ filter. Props @ramiy.
  • FIXED: Removing Loading … because SERP will index the text if the ratings is at the top of the article
  • FIXED: Move ‘wp_postratings_image_extension’ filter to init()
  • FIXED: Show headline, datePublished and image despite there is no ratings
  • FIXED: Show post without ratings as well when sorting is done in URL. Props @talljosh.

Version 1.82

  • NEW: Added ‘wp_postratings_image_extension’ filter. Props @ramiy.
  • FIXED: Added headline, datePublished, image to Article Schema type
  • FIXED: Deprecated PHP4 constructor in WordPress 4.3
  • FIXED: Remove schema code when Rich Snippets is off

Version 1.81

  • NEW: Added worstRating of 1. Props @rafaellop
  • NEW: Checked for defined() for RATINGS_IMG_EXT to allow overwrite
  • FIXED: Integration with WP-Stats

Version 1.80

  • NEW: Suppor Custom Post Types in Widgets
  • NEW: Added ‘wp_postratings_process_ratings_user’, ‘wp_postratings_process_ratings_userid’ & ‘wp_postratings_check_rated’ filters
  • NEW: Supports WordPress Multisite Network Activate
  • NEW: Uses WordPress native uninstall.php

Version 1.79

  • NEW: Use POST for ratings instead
  • NEW: Add ‘wp_postratings_schema_itemtype’ filter so that you can change the Schema Type. See the FAQ for sample.
  • FIXED: Use ‘is_rtl()’ instead of $text_direction

Version 1.78

  • NEW: Uses Dash Icons
  • NEW: Option to turn off Google Rich Snippets
  • FIXED: Use SITECOOKIEPATH instead of COOKIEPATH. Props jbrule.
  • FIXED: If global $id is 0, use get_the_ID(). Props instruite.
  • FIXED: use esc_attr() and esc_js() to escape characters

Version 1.77

  • NEW: Add in %POST_ID% template variables
  • FIXED: Ensure Google Rich Snippet only displays in main loop and not in the widget
  • FIXED: Removed reviewCount from Google Rich Snippet
  • FIXED: Make the ratings widget more optimized
  • FIXED: Some widget templates are using postratings_template_mostrated instead of postratings_template_highestrated

Version 1.76

  • FIXED: No longer needing add_post_meta() if update_post_meta() fails
  • FIXED: Update ‘Individual Rating Text/Value’ Display no working due to missing nonce
  • FIXED: Added stripslashes() to remove slashes in the templates
  • FIXED: Check whether it is an array to prevent array_key_exists() from throwing a warning.

Version 1.75

  • Change htmlspecialchars to esc_attr(). Props Ryan Satterfield.
  • Change esc_attr() to wp_kses() For itemprop. Props oneTarek.

Version 1.74

  • check_rated_username() should be using $user_ID. Props Artem Gordinsky.

Version 1.73

  • Add Stars Flat (PNG) Icons. Props hebaf.
  • Change Schema From http://schema.org/Product To http://schema.org/Article