Jake Vanderwerf
2026-08-26 ccf5e61a075c35d24befc175994b5cb8957ca322
inc/helpers/renderFields.php
@@ -62,9 +62,9 @@
 * @param string $type
 * @return string
 */
function jvbRenderLinks(int $ID, string $type =''):string
function jvbRenderLinks(int $ID, string $type ='post'):string
{
    $cache = Cache::for('user_links', WEEK_IN_SECONDS)->connect('post')->connect('taxonomy')->connect('user');
    $cache = Cache::for('user_links_'.$type, $type,WEEK_IN_SECONDS);
    $cached = $cache->get($ID);
    if ($cached) {
        return $cached;
@@ -143,13 +143,16 @@
/**
 * @param int $ID
 * @param string $type
 * @param ?string $type
 *
 * @return string
 */
function jvbRenderContactInfo(int $ID, string $type = ''):string
function jvbRenderContactInfo(int $ID, ?string $type = null):string
{
    $cache = Cache::for('contact', WEEK_IN_SECONDS)->connect('post')->connect('taxonomy');
   if (is_null($type)) {
      return '';
   }
    $cache = Cache::for('contact_'.$type, $type,WEEK_IN_SECONDS);
    $cached = $cache->get($ID);
    if($cached){
@@ -231,7 +234,7 @@
        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>';
        }
@@ -308,7 +311,7 @@
            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']) {
@@ -319,7 +322,7 @@
                    $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']);
                }
@@ -354,7 +357,6 @@
   }
}
function jvbRenderTermList(array|bool|WP_Error $terms, string $label = ''):string {
    if (!$terms || is_wp_error($terms) || empty($terms)) {
        return '';
@@ -377,7 +379,7 @@
         return '';
      }
   }
   $cache = Cache::for($term->taxonomy.'_link')->connect('taxonomy');
   $cache = Cache::for($term->taxonomy.'_link', 'term');
   $key = $term->term_id;
   return $cache->remember(
      $key,
@@ -423,13 +425,13 @@
         </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
@@ -450,7 +452,7 @@
               </div>
            </div>
            <details>
               <summary class="row btw">
               <summary class="row x-btw">
                  Extra Fields
               </summary>
               <div class="fields"></div>
@@ -464,7 +466,7 @@
      </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')?>
@@ -525,7 +527,7 @@
               </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
@@ -594,46 +596,15 @@
   }
}
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'])) {
      return '';
   }
   $cache = Cache::for('locations')->connect('taxonomy');
   $key = $cache->generateKey($location);
   $cache = Cache::for('tax_locations', 'term');
   $cached = $cache->get($location);
   $cached = false;
   if ($cached) {
      return $cached;
@@ -665,7 +636,7 @@
   );
   $cached = '<p class="find-us">'.jvbIcon('map-pin').'Find us here: '.$google.$apple.'</p>';
   $cache->set($key, $cached);
   $cache->set($location, $cached);
   return $cached;
}