2017-01-17 13 views
0

ユーザーレビュー付きのホテルをコメントとして作成したWordpressサイトのレビューを許可するコメント用のカスタムフィールドをいくつか作成しました。これらのカスタムフィールドの1つは「star_rating」フィールドです。検索結果とリスティングプロファイルに表示される各投稿の平均 'star_rating'値を見つけるために、すべての値の合計を取得する方法を見つける必要があります。コメントのACFカスタムフィールド値の合計の検索

私は、star_ratingフィールド値の合計を見つけるのに長い間試してきました。私は最後に次のコードを使用しましたが、それは動作しませんが、理由はわかりません。どんな助けでも大歓迎です。

$ratings_sum = 0; 
// Arguments for the query 
$args = array(); 
// The comment query 
$comments_query = new WP_Comment_Query; 
$comments = $comments_query->query($args); 
// The comment loop 
if (!empty($comments)) { 
    foreach ($comments as $comment) { 
     $ratings_sum+= $comment->star_rating; 
    } 
} else { 
    // echo 'No comments found.'; 
} 
echo $ratings_sum; 

事前に感謝します。星の評価をフェッチのためのカスタムクエリ以下

+0

投稿ごとに投稿メタまたはコメントのメタテーブルにカスタムフィールド 'star_rating'が保存されていますか? –

+0

@AshPatel 'star_rating'がコメントメタテーブルに保存されました –

+0

'get_field'というacfメソッドを試しましたか? 'get_field( 'star_rating'、$ comment)'です。また、foreachサイクルでエコーを追加して、どの値が得られるかを確認することができます – Grin

答えて

1

してみてください。このようにカスタムフィールド$comment->star_ratingにアクセスすることはできません。

+0

多くのありがとうございます。 –

0

試してください:あなたはACFカスタムフィールドプラグインを使用している場合は、get_field()機能を使用するために

SELECT SUM(meta_value) FROM wp_commentmeta WHERE comment_id IN (SELECT comment_ID FROM wp_comments WHERE comment_post_ID = '//your post id') and meta_key='star_rating'; 
+0

こんにちは@AshPatel - 次のようにコードを変更しましたが、$ ratings_sumはすべての投稿に対して1の値を返します)。 star_ratingsの合計がカウントされない別の理由がありますか?ありがとう –

+0

はい別の理由があるかもしれません..クエリが1を返す投稿の正確な評価を確認してください。 –

関連する問題