From 32ce5c542c90be348895328078e392dde2052957 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 04 Sep 2026 19:15:16 +0000
Subject: [PATCH] =Working at adding defined fields to a dedicated panel in the gutenberg editor. Registrar now has AddCustomFields.php, which currently only supports post fields. Added a @wordpress/plugins base _meta/fields in /build and /src that successfully creates a panel. Next steps: determine sections and fields, group fields by section (each section to a panel), and save output
---
inc/helpers/renderFields.php | 82 ++++++++++++++--------------------------
1 files changed, 29 insertions(+), 53 deletions(-)
diff --git a/inc/helpers/renderFields.php b/inc/helpers/renderFields.php
index 150af0e..c0d213c 100644
--- a/inc/helpers/renderFields.php
+++ b/inc/helpers/renderFields.php
@@ -17,7 +17,7 @@
* @param string $on
* @param string $off
* @param bool $hidden
- *
+ * @param array $data
* @return string
*/
function jvbRenderToggleTextField(
@@ -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;
@@ -90,48 +90,21 @@
$out = '<ul class="contact">';
foreach ($links as $link) {
$url = $link['url'];
- switch (true) {
- case strpos($url, 'facebook'):
- $i = jvbIcon('facebook-logo');
- break;
- case strpos($url, 'instagram'):
- $i = jvbIcon('instagram-logo');
- break;
- case strpos($url, 'tiktok'):
- $i = jvbIcon('tiktok-logo');
- break;
- case strpos($url, 'x.com'):
- $i = jvbIcon('x');
- break;
- case strpos($url, 'youtube'):
- $i = jvbIcon('youtube-logo');
- break;
- case strpos($url, 'mastadon'):
- $i = jvbIcon('mastadon-logo');
- break;
- case strpos($url, 'fediverse'):
- case strpos($url, 'bluesky'):
- $i = jvbIcon('fediverse-logo');
- break;
- case strpos($url, 'linktree'):
- $i = jvbIcon('linktree-logo');
- break;
- case strpos($url, 'snapchat'):
- $i = jvbIcon('snapchat-logo');
- break;
- case strpos($url, 'twitch'):
- $i = jvbIcon('twitch-logo');
- break;
- case strpos($url, 'threads'):
- $i = jvbIcon('threads-logo');
- break;
- case strpos($url, 'twitter'):
- $i = jvbIcon('twitter-logo');
- break;
- default:
- $i = jvbIcon('link');
- break;
- }
+ $i = match (true) {
+ strpos($url, 'facebook') => jvbIcon('facebook-logo'),
+ strpos($url, 'instagram') => jvbIcon('instagram-logo'),
+ strpos($url, 'tiktok') => jvbIcon('tiktok-logo'),
+ strpos($url, 'x.com') => jvbIcon('x'),
+ strpos($url, 'youtube') => jvbIcon('youtube-logo'),
+ strpos($url, 'mastadon') => jvbIcon('mastadon-logo'),
+ strpos($url, 'fediverse'), strpos($url, 'bluesky') => jvbIcon('fediverse-logo'),
+ strpos($url, 'linktree') => jvbIcon('linktree-logo'),
+ strpos($url, 'snapchat') => jvbIcon('snapchat-logo'),
+ strpos($url, 'twitch') => jvbIcon('twitch-logo'),
+ strpos($url, 'threads') => jvbIcon('threads-logo'),
+ strpos($url, 'twitter') => jvbIcon('twitter-logo'),
+ default => jvbIcon('link'),
+ };
$tracker = (array_key_exists('tracker', $link)) ? '?'.$link['tracker'] : '?source=edmontonInk';
$out .= '<li><a href="'.$link['url'].$tracker.'" target="_blank">'.$i.$link['title'].'</a></li>';
}
@@ -143,13 +116,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){
@@ -316,7 +292,7 @@
$aClose = '</a>';
}
if ($review['date'] !== '') {
- $date = new Date('M j, Y', strtotime($review['date']));
+ $date = date('M j, Y', strtotime($review['date']));
}
$out .= '<cite class="row x-btw">';
@@ -376,7 +352,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,
@@ -599,9 +575,9 @@
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;
@@ -633,7 +609,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;
}
--
Gitblit v1.10.0