Descripción
Utilización
- Abre
wp-content/themes/<NOMBRE DE TU TEMA>/index.php
- Puedes ponerlo también en archive.php, single.php, post.php o page.php.
- Encuentra:
<?php while (have_posts()) : the_post(); ?>
- 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
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 ''; } ?>
-
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. -
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.
- WP-PostRatings cargará
-
¿Cómo usan las estadísticas de valoraciones en los widgets?
-
- Ve a
WP-Admin -> Apariencia -> Widgets
- El nombre del widget es Valoraciones.
- Ve a
-
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&r_orderby=desc
- Puedes reemplazar desc con asc si quieres mostrar las entradas con valoraciones más bajas.
- Puedes usar:
-
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&r_orderby=desc
- Puedes reemplazar desc con asc si quieres las entradas menos valoradas.
- Puedes usar:
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 13 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.2
- FIXED: XSS in Google Rich Text Snippets
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 ofwp_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
towp_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
andwp_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