Создать отзыв и рейтинг для учетных записей пользователей в wp-admin

Я хотел бы, чтобы каждый пользователь имел рейтинг в звездах и обзор вместе с ним, чтобы любой пользователь мог оценивать их с помощью JavaScript 5 звезд. Различные обзоры и рейтинг звезд должны отображаться на панели wp-admin, чтобы пользователь мог анализировать себя. И в профиле должно быть указано совокупное среднее значение звездности.

Нечто похожее на содержание, приведенное ниже. введите описание изображения здесь

Solutions Collecting From Web of "Создать отзыв и рейтинг для учетных записей пользователей в wp-admin"

Вы можете сохранить рейтинги как пользовательские мета. Когда рейтинг добавляется, добавьте его в рейтинги пользователя, используя add_user_meta() :

 add_user_meta( $user_id, '_ratings', $rating, false ); 

Последний параметр указывает, что он добавляет текущий рейтинг в мета как новый элемент, а не заменяет существующий. Затем все рейтинги можно получить с помощью get_user_meta() :

 get_user_meta( $user_id, '_ratings', false ); 

Последний параметр указывает, чтобы он превращал рейтинги в массив:

 Array ( [0] => 5 [1] => 5 [2] => 3 ) 

Вы можете просмотреть их, чтобы получить средний рейтинг. Вы можете рассчитывать и хранить среднее значение как отдельную мета при каждом обновлении метаданных, поэтому вы можете просто вытащить эту мета на каждую загрузку страницы, а не вычислять каждый раз.

Вероятно, вы захотите ограничить пользователей только одним рейтингом других пользователей один раз. Каждый раз, когда пользователь тарифицирует другого пользователя, вы можете обновить другую мета, содержащую список идентификаторов пользователей, которые они обдумали:

 add_user_meta( $rating_user_id, '_rated', $rated_user_id, false ); 

Затем вы можете проверить это, прежде чем разрешать им оценивать пользователя:

 $rated = get_user_meta( $rating_user_id, '_rated', 'false' ); if ( ! in_array( $rated_user_id, $rated ) ) { // do stuff here to allow rating }