GD Star Ratings inconsistency with WP_Query
-
When trying to get top rated posts for an author:
$args=array( 'author'=>$author_id, 'posts_per_page'=>5, 'exclude'=>$exclude, 'gdsr_sort'=>'rating', //! 'gdsr_order'=>'desc', //! 'gdsr_fsvmin'=>1, //! ); $result=new WP_Query($args); return $result->get_posts();
The folowing SQL is generated:
SELECT SQL_CALC_FOUND_ROWS wp_posts.*, (gdsra.user_votes + gdsra.visitor_votes)/(gdsra.user_voters + gdsra.visitor_voters) as gdsr_rating, (gdsra.user_recc_plus - gdsra.user_recc_minus + gdsra.visitor_recc_plus - gdsra.visitor_recc_minus) as gdsr_thumb_score, (gdsra.user_voters + gdsra.visitor_voters) as gdsr_votes, (gdsra.user_recc_plus + gdsra.user_recc_minus + gdsra.visitor_recc_plus + gdsra.visitor_recc_minus) as gdsr_thumb_votes, gdsra.review as gdsr_review, gdsra.last_voted as gdsr_last_voted FROM wp_posts LEFT JOIN wp_gdsr_data_article gdsra ON gdsra.post_id = wp_posts.ID WHERE 1=1 AND (wp_posts.post_author = 5) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY (gdsra.user_votes + gdsra.visitor_votes)/(gdsra.user_voters + gdsra.visitor_voters) desc, (gdsra.user_voters + gdsra.visitor_voters) desc, wp_posts.post_date desc LIMIT 0, 5
You can see that the ‘exclude’ and ‘gdsr_fsvmin’ from $args are basically unexpectedly ignored (especially ‘exclude’, which is not part of GDSR). This causes the script to return non-rated posts, and include unwanted posts. Also, I get some performance worries looking at that query.
This is a fabulous plugin, which obviously took a lot of time and effort to code, but REALLY needs a strong API and documentation.
I mean, getting top rated posts from a user programmatically should really be very straight forward and trivial, something on the lines of
gdsr_get_top_rated($author_id=null, $category=null)
Yet this complex plugin lacks this basic functionality. If it actually had more advanced statistics functions, it would be awesome.
Well, waiting for v2.0, I guess.
Thanks for this plugin, anyway.
- The topic ‘GD Star Ratings inconsistency with WP_Query’ is closed to new replies.