From d7dbe7fee362d587dfc334135d9581b6216a4295 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 23 Nov 2025 04:13:56 +0000
Subject: [PATCH] =Timeline block, and feed block updated. DataStore.js refactored to not block rendering
---
inc/meta/MetaManager.php | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/inc/meta/MetaManager.php b/inc/meta/MetaManager.php
index 7ed3bc6..a1d7dbc 100644
--- a/inc/meta/MetaManager.php
+++ b/inc/meta/MetaManager.php
@@ -19,6 +19,7 @@
public MetaForm $form;
protected int|null $object_id;
public object|null $data;
+ protected array $fields =[];
protected string $field;
protected mixed $value;
protected string|null $object_type;
@@ -332,11 +333,7 @@
}
}
if ($field_config['type'] == 'taxonomy' && (!array_key_exists('taxonomy_type', $field_config))) {
- error_log('Attempting to set taxonomies: ' . print_r($this->object_id, true));
- error_log('Sanitized data: ' . print_r($sanitized, true));
- error_log('Taxonomy: ' . print_r($field_config['taxonomy'], true));
$set = wp_set_post_terms($this->object_id, $sanitized, jvbCheckBase($field_config['taxonomy']), false);
- error_log('Set post terms: ' . print_r($set, true));
}
if ($field_config['type'] === 'location' && empty($sanitized)) {
$this->addMeta('has_map', false);
@@ -502,6 +499,10 @@
protected function getFields(): array
{
+ if (!empty($this->fields)) {
+ return $this->fields;
+ }
+ $type = false;
switch ($this->object_type) {
case 'post':
$type = get_post_type((int)$this->object_id);
@@ -515,6 +516,9 @@
case 'options':
return jvbGetFields('options');
}
+ if (!$type) {
+ return [];
+ }
return jvbGetFields($type, $this->object_type);
}
@@ -542,6 +546,7 @@
protected function getSections():array
{
+ $type = false;
switch ($this->object_type) {
case 'post':
$type = get_post_type((int)$this->object_id);
@@ -601,6 +606,11 @@
}
}
+ public function setFieldConfig(array $fields):void
+ {
+ $this->fields = $fields;
+ }
+
protected function getFieldConfig(string $name):array|false
{
$fields = $this->getFields();
@@ -749,7 +759,7 @@
}
- echo (jvbCheck('submit', $options)) ? '<button type="submit">'.jvbIcon('save').'Save</button>' : '';
+ echo (jvbCheck('submit', $options)) ? '<button type="submit">'.jvbIcon('floppy-disk').'Save</button>' : '';
echo '</form>';
$out = ob_get_clean();
@@ -793,7 +803,7 @@
$out = '<p class="'.$name.'">'.jvbIcon('calendar').'<span></span></p>';
break;
case 'time':
- $out = '<p class="'.$name.'">'.jvbIcon('time').'<time></time></p>';
+ $out = '<p class="'.$name.'">'.jvbIcon('clock').'<time></time></p>';
break;
case 'true_false':
$out = '<p class="'.$name.'"></p>';
@@ -1006,7 +1016,8 @@
}
if ($field_config['type'] === 'taxonomy' && !array_key_exists('taxonomy_type', $field_config)){
- $set = wp_set_post_terms($this->object_id, $sanitized, jvbCheckBase($field_config['taxonomy']), false);
+ $term_ids = array_map('intval', explode(',', trim($sanitized)));
+ $set = wp_set_post_terms($this->object_id, $term_ids, jvbCheckBase($field_config['taxonomy']), false);
}
if ($field_config['type'] === 'location' && empty($sanitized)) {
--
Gitblit v1.10.0