wp_star_rating()
Выводит HTML рейтинга (звездочки) для указанного рейтинга.
Выводит HTML-элемент с рейтингом звезд, по шкале от 0 до 5 с шагом в ползвезды (1, 1.5, 2 звезды). Также может отображать количество оценок, если передать параметр $number.
По умолчанию работает только в админ панели.
Хуков нет.
Возвращает
Строку. HTML код.
Использование
wp_star_rating( $args );
- $args(массив)
Массив аргументов для вывода звезд.
-
rating(int)
Рейтинг который нужно вывести.Если в
type = rating, то число будет считаться рейтингом и будет выведено количество звезд указанных в этом параметре.Если в
type = percent, то число будет считаться процентом и будет показано 5 звезд заполненных в соответствии с указанным числом.
По умолчанию: 0 -
type(string)
Формат в котором указан параметр $rating. Может быть:ratingилиpercent.
По умолчанию: 'rating' -
number(int)
Число на основе скольки голосов показан результат, добавить в title атрибут тега. Отставьте 0 чтобы не показывать.
По умолчанию: 0 - echo(bool)
Выводить или возвращать результат?
По умолчанию: true
-
Примеры
#1 Вывод рейтинга (звезд)
Примеры
wp_star_rating( ['rating'=>7.5, 'type'=>'rating', 'number'=>0 ] ); /* Выведет: <div class="star-rating" title="Рейтинг 7,5"><span class="screen-reader-text">Рейтинг 7,5</span> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-half"></div> </div> */
wp_star_rating( ['rating'=>85, 'type'=>'percent', 'number'=>654 ] ); /* Выведет: <div class="star-rating" title="Рейтинг 4,5 на основе 654 голосов"><span class="screen-reader-text">Рейтинг 4,5 на основе 654 голосов</span> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-full"></div> <div class="star star-half"></div> </div> */
Выглядит так:
#2 Вывод во фронт-энде (внешней части)
Во фронт-энде функция не работает и там лучше сделать свою подобную функцию. Но если у вас подключаются шрифты 'dashicons', то есть смысл использовать эту функцию, для этого нужно подключить нужный файл и css стили:
// для фронта
require_once ABSPATH .'wp-admin/includes/template.php';
// подключим иконки
add_action('wp_enqueue_scripts', function(){ wp_enqueue_style('dashicons'); });
// Выводим HTML
wp_star_rating( array( 'rating'=>4.5, 'type'=>'rating', 'number'=>521, ) );
echo '
<style>
.screen-reader-text{ position: absolute; margin: -1px; padding: 0; height: 1px; width: 1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; word-wrap: normal!important; }
.star-rating .star-full:before { content: "\f155"; }
.star-rating .star-half:before { content: "\f459"; }
.star-rating .star-empty:before { content: "\f154"; }
.star-rating .star {
color: #0074A2;
display: inline-block;
font-family: dashicons;
font-size: 20px;
font-style: normal;
font-weight: 400;
height: 20px;
line-height: 1;
text-align: center;
text-decoration: inherit;
vertical-align: top;
width: 20px;
}
</style>';
/* Получим:
<div class="star-rating" data-title="4,5 rating based on 521 ratings">
<span class="screen-reader-text">4,5 rating based on 521 ratings</span>
<div class="star star-full"></div>
<div class="star star-full"></div>
<div class="star star-full"></div>
<div class="star star-full"></div>
<div class="star star-half"></div>
</div>
*/
Список изменений
| С версии 3.8.0 | Введена. |
| С версии 4.4.0 | Introduced the echo parameter. |