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.

Estado de creación

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

Preguntas frecuentes

¿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

Simple, ok

The plugin works well, but sometimes this happens
“0 marks, average: 0.00 out of 5, you have already put a mark”
?

Great plugin.

I’ve been using this plugin on a very high traffic site for a very long time. I’ve had zero issues with it, and it does what it says. Thank you for developing it.

Works fine, thanks

This plugin do what it say. It works well and have no pageview limitation bu11sht! I just need to figure out how to create a top rated post list now!

Thanks!

Leer todas las 155 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” ha sido traducido a 5 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 log de desarrollo por RSS .

Registro de cambios

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

Version 1.72 (11-07-2013)

  • Fixed not logging ratings
  • Fixed sorting of ratings logs