Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function my_rating( $atts ) {
- $rating = shortcode_atts( array(
- 'stars' => '',
- 'half' => 'false',
- ), $atts );
- $star = esc_attr($rating['stars']);
- $stars = str_repeat('<i class="fas fa-fw fa-star"></i>', $star);
- $half = esc_attr($rating['half']);
- $halfstar = '<i class="fas fa-fw fa-star-half-alt"></i>';
- $dif = 5 - esc_attr($rating['stars']);
- $empty = str_repeat('<i class="far fa-fw fa-star"></i>', $dif);
- $difhalf = 4 - esc_attr($rating['stars']);
- $emptyhalf = str_repeat('<i class="far fa-fw fa-star"></i>', $difhalf);
- if ( $half == 'false' ) {
- return $stars . $empty . '<span class="hide" aria-hidden="false">' . $star .'.0 out of 5</span> <span class="lining" aria-hidden="true">' . $star .'.0</span>';
- }
- elseif ( ( $half == 'true' ) && ( $star < 5 ) ) {
- return $stars . $halfstar . $emptyhalf . '<span class="hide" aria-hidden="false">' . $star .'.5 out of 5</span> <span class="lining" aria-hidden="true">' . $star .'.5</span>';
- } else {
- // 5 stars is maximum. 5½ stars outputs 5 stars.
- return $stars . $empty . '<span class="hide" aria-hidden="false">5.0 out of 5</span> <span class="lining" aria-hidden="true">5.0</span>';
- }
- }
- add_shortcode( 'rating', 'my_rating' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement