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/rest/routes/OptionsRoutes.php | 29 ++++++++++-------------------
1 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/inc/rest/routes/OptionsRoutes.php b/inc/rest/routes/OptionsRoutes.php
index 355db8c..8795437 100644
--- a/inc/rest/routes/OptionsRoutes.php
+++ b/inc/rest/routes/OptionsRoutes.php
@@ -1,10 +1,11 @@
<?php
namespace JVBase\rest\routes;
+use JVBase\base\options;
+use JVBase\Instance;
+use JVBase\managers\queue\Queue;
use JVBase\rest\PermissionHandler;
use JVBase\rest\Rest;
-use JVBase\managers\Cache;
-use JVBase\meta\Meta;
use JVBase\rest\Route;
use WP_REST_Request;
use WP_REST_Response;
@@ -16,6 +17,7 @@
class OptionsRoutes extends Rest
{
+ use Instance;
public function __construct()
{
@@ -30,7 +32,6 @@
->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']]))
->rateLimit(3)
->args([
- 'user' => 'int|required',
'id' => 'string|required',
])
->register();
@@ -39,15 +40,15 @@
public function saveOptions(WP_REST_Request $request):WP_REST_Response
{
$data = $request->get_params();
- $user = $data['user'];
- if ($user && !user_can($user, 'manage_options')) {
+ $user = get_current_user_id();
+ if ($user && !current_user_can( 'manage_options')) {
return $this->error('User Cannot modify options');
}
- unset($data['user']);
+
$operationID = $data['id'];
unset($data['id']);
- JVB()->queue()->queueOperation(
+ Queue::getInstance()->queueOperation(
'update_options',
$user,
$data,
@@ -80,15 +81,7 @@
'success' => []
];
- $meta = Meta::forOptions('options');
- $fields = jvbGetFields('options');
-
- $allowedFields = array_filter($data,
- function ($key) use ($fields) {
- return array_key_exists($key, $fields);
- }, ARRAY_FILTER_USE_KEY);
- error_log('Setting fields: '.print_r($allowedFields, true));
- $results = $meta->setAll($allowedFields);
+ options::setAll($data['changes']);
// foreach ($data as $field => $value) {
// if (array_key_exists($field, $fields)) {
// $success = $meta->updateValue($field, $value);
@@ -102,11 +95,9 @@
do_action('jvbOptionsRoute', $data);
- $cache = Cache::for('options', 1800);
- $cache->flush();
return [
'success' => true,
- 'result' => $results
+ 'result' => []
];
}
}
--
Gitblit v1.10.0