From c16a4d78d07e81ecdd2ff9b1b9090560ab2fe488 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 04 Sep 2026 22:25:09 +0000
Subject: [PATCH] =Got the panel loading up the fields, organized by section! Now to ensure it saves properly. Still need to add: upload fields, selector fields, repeater/taglist/group fields
---
inc/forms/PostSelector.php | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/inc/forms/PostSelector.php b/inc/forms/PostSelector.php
index ee18b9a..c68191d 100644
--- a/inc/forms/PostSelector.php
+++ b/inc/forms/PostSelector.php
@@ -1,7 +1,8 @@
<?php
namespace JVBase\forms;
-use JVBase\managers\CacheManager;
+use JVBase\managers\Cache;
+use JVBase\managers\Roles;
use WP_REST_Request;
use WP_REST_Response;
use WP_Query;
@@ -18,12 +19,12 @@
{
protected string $post_type;
protected array $config;
- protected CacheManager $cache;
+ protected Cache $cache;
public function __construct(string $post_type, array $config = [])
{
$this->post_type = $post_type;
- $this->cache = new CacheManager('posts');
+ $this->cache = Cache::for(jvbNoBase($post_type), 'post',WEEK_IN_SECONDS);
$this->config = wp_parse_args($config, [
'multiple' => true,
@@ -48,9 +49,6 @@
*/
public function render(array $selected = [], string $containerId = ''): string
{
- // Mark that selectors are present for footer output
- TaxonomySelector::markSelectorsPresent();
-
// Process selected posts
$processedSelected = $this->processSelectedPosts($selected);
@@ -187,8 +185,8 @@
}
// Check cache
- $cache_key = $this->cache->generateKey($args);
- $cached_result = $this->cache->get($cache_key);
+
+ $cached_result = $this->cache->get($args);
if ($cached_result) {
return new WP_REST_Response($cached_result);
}
@@ -226,7 +224,7 @@
];
// Cache the result
- $this->cache->set($cache_key, $result, 300); // 5 minute cache
+ $this->cache->set($args, $result, 300); // 5 minute cache
return new WP_REST_Response($result);
}
@@ -240,7 +238,7 @@
'methods' => 'GET',
'callback' => [new self('post'), 'searchPosts'],
'permission_callback' => function($request) {
- return JVB()->roles()->checkRole(get_current_user(), $request->get_param('post_type'));
+ return Roles::getInstance()()->checkRole(get_current_user(), $request->get_param('post_type'));
},
'args' => [
'post_type' => [
@@ -267,7 +265,7 @@
}
/**
- * Render post selector field for MetaForm integration
+ * Render post selector field for Meta's Form integration
*
* @param string $name Field name
* @param mixed $value Current value
--
Gitblit v1.10.0