web-dev-qa-db-ja.com

現在の投稿についてのみコメントを問い合わせるにはどうすればいいですか?

ACFを使用していますが、コメントにはカスタムフィールドがあります。私は車と呼ばれるカスタムポストタイプもあります。

私がやろうとしているのは、ユーザーに彼らの平均消費量をコメントさせ、それから私は一台の車の平均消費量を計算することです。

私はそうしました、そしてそれは一部を除いてうまくいきます。各自動車の平均消費量が異なる場合でも、平均消費量はすべての自動車で同じです。

例えば:

  • 車1のmpg(28; 25; 39 - 平均30.6)
  • 車2のmpg(44; 50平均47)

ユーザーがCar 1にアクセスすると、avgは30.6、Car 2は47と表示されます。代わりに、各carの値は同じで、すべてのフィールドから平均mpgがオンになります(28; 25; 39; 44; 50 avg 37.2)。

これが私のコードです。私はACFの文書に従ってコメントから値を取得しています

 <?php
$args             = array();
$comments_query   = new WP_Comment_Query;
$comments_count   = wp_count_comments();
$comments         = $comments_query->query($args);
if ($comments) {
    foreach ($comments as $comment) {
        $total += get_field('mpg', $comment);
    }
} else {
    echo 'No comments found.';
}
$average = $total / $comments_count->total_comments;
echo round($average, 2);
wp_reset_query();
?>

このコードはsingle-cars.php(カスタム投稿タイプ)で、すべての投稿のすべてのコメントから計算を行いますが、私は単一の車の計算を表示したいと思います。

前もって感謝します

1
David

コメントクエリに対するあなたの引数は空なので、それは地球上のすべてのコメントを返します。その投稿に属するコメントを取得するには、投稿IDを指定する必要があります。

$args = array(
    'post_id' => get_the_ID(),
);

引数の詳細については、 codex のページをご覧ください。

1
Jack Johansson