Function Reference: geodir_get_post_rating

Summary

Get average overall rating of a Post.

Description

Returns average overall rating of a Post. If no results, returns false.

Global Values

$wpdb
(object) (required) WordPress Database object.

Default: None
$post
(object) (required) The current post object.

Default: None

Package

GeoDirectory

Parameters

$post_id
(int) (required) The post ID.

Default: None
$force_query
(int) (optional) Do you want force run the query? Default: 0.

Default: None

Return Values

(array|bool|int|mixed|null|string)

    Change Log

    Since: 1.0.0

    Source File

    geodir_get_post_rating() is located in geodirectory-functions/comments_functions.php [Line: 615]

    Source Code

    function geodir_get_post_rating($post_id = 0, $force_query = 0)
    {
        global $wpdb, $post;
    
        if (isset($post->ID) && $post->ID == $post_id && !$force_query) {
            if (isset($post->rating_count) && $post->rating_count > 0 && isset($post->overall_rating) && $post->overall_rating > 0) {
                return $post->overall_rating;
            } else {
                return 0;
            }
        }
    
        $results = $wpdb->get_var(
            $wpdb->prepare(
                "SELECT COALESCE(avg(overall_rating),0) FROM " . GEODIR_REVIEW_TABLE . " WHERE post_id = %d AND status=1 AND overall_rating>0",
                array($post_id)
            )
        );
    
        if (!empty($results))
            return $results;
        else
            return false;
    }