WordPress.org

Ready to get started?Download WordPress

Forums

GD Star Rating
GD Star Ratings inconsistency with WP_Query (2 posts)

  1. sunamumaya
    Member
    Posted 9 months ago #

    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.

    http://wordpress.org/plugins/gd-star-rating/

  2. sunamumaya
    Member
    Posted 9 months ago #

    Correction to the above:

    The "exclude" ignored bit is my bad. It should be "post__not_in", and it works that way. The gdsr_fsvmin ignored issue remains.

Reply

You must log in to post.

About this Plugin

About this Topic