| | |
| | | foreach ($specialties as $specialty) { |
| | | $out .= '<li><b>'.$specialty['specialty'].'</b>'; |
| | | if ($specialty['description'] !== '') { |
| | | $out .= apply_filters('the_content', $specialty['description']); |
| | | $out .= jvb_filter_content( $specialty['description']); |
| | | } |
| | | $out .= '</li>'; |
| | | } |
| | |
| | | if ($review['review'] === '') { |
| | | continue; |
| | | } |
| | | $out .= '<li><blockquote>'.apply_filters('the_content', $review['review']); |
| | | $out .= '<li><blockquote>'.jvb_filter_content( $review['review']); |
| | | if ($review['name'] !== '' || $review['rating'] !== 'none') { |
| | | $date = $aOpen = $aClose = ''; |
| | | if ($review['url']) { |
| | |
| | | $date = new Date('M j, Y', strtotime($review['date'])); |
| | | } |
| | | |
| | | $out .= '<cite class="row btw">'; |
| | | $out .= '<cite class="row x-btw">'; |
| | | if ($review['rating'] !== 'none') { |
| | | $out .= jvbFormatStarRating($review['rating']); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | function jvbRenderTermList(array|bool|WP_Error $terms, string $label = ''):string { |
| | | if (!$terms || is_wp_error($terms) || empty($terms)) { |
| | | return ''; |
| | |
| | | </div> |
| | | </template> |
| | | <template class="uploadMeta"> |
| | | <?= jvbImageMeta() ?> |
| | | <?= Form::renderImagePreview() ?> |
| | | </template> |
| | | <template class="imageGroup"> |
| | | <div class="upload-group"> |
| | | <div class="group-header"> |
| | | <div class="selected"> |
| | | <div class="field"> |
| | | <div class="field checkbox"> |
| | | <input type="checkbox" id="select-all" name="select-all" data-selects="item-grid" data-select-all> |
| | | <label for="select-all"> |
| | | Select All In Group |
| | |
| | | </div> |
| | | </div> |
| | | <details> |
| | | <summary class="row btw"> |
| | | <summary class="row x-btw"> |
| | | Extra Fields |
| | | </summary> |
| | | <div class="fields"></div> |
| | |
| | | </template> |
| | | <template class="groupActions"> |
| | | <div class="item-actions"> |
| | | <div class="radio-button"> |
| | | <div class="btn"> |
| | | <input type="radio" class="featured btn" name="featured" id="featured"> |
| | | <label for="featured"> |
| | | <?=jvbIcon('star')?> |
| | |
| | | </div> |
| | | <div class="selection-actions"> |
| | | <div class="selected"> |
| | | <div class="field"> |
| | | <div class="field checkbox"> |
| | | <input type="checkbox" id="select-all-restore" name="select-all-restore"> |
| | | <label for="select-all-restore"> |
| | | Select All |
| | |
| | | } |
| | | } |
| | | |
| | | function jvbImageMeta(int|null $ID = null, string $title = '', string $alt = '', string $caption = '', array $fields = []):string |
| | | { |
| | | $dataID = ($ID) ? ['image-id' => $ID] : false; |
| | | $addID = ($ID) ? '-'.$ID : ''; |
| | | |
| | | $config = [ |
| | | 'image-title'.$addID => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Image Title', |
| | | 'value' => $title, |
| | | 'data' => $dataID |
| | | ], |
| | | 'image-alt-text'.$addID => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Alt Text', |
| | | 'value' => $alt, |
| | | 'hint' => 'Alt text helps the visually impaired, as well as some benefits for SEO.', |
| | | 'data' => $dataID |
| | | ], |
| | | 'image-caption'.$addID => [ |
| | | 'type' => 'textarea', |
| | | 'value' => $caption, |
| | | 'label' => 'Image Caption', |
| | | 'data' => $dataID |
| | | ] |
| | | ]; |
| | | |
| | | return Form::render('image_data', null, $config, false, true); |
| | | } |
| | | |
| | | |
| | | |
| | | function jvbLocationLinks(array $location): string { |
| | | if (empty($location['address'])) { |