From c19264ac916707096fe294d996a1b7fb85206b34 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 08 Mar 2026 19:55:31 +0000
Subject: [PATCH] =Furthering along the complete refactor. Added some basic setup for is_content taxonomies, including a page for an archive of the terms.
---
inc/meta/Storage.php | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/inc/meta/Storage.php b/inc/meta/Storage.php
index a3925d8..fd0f927 100644
--- a/inc/meta/Storage.php
+++ b/inc/meta/Storage.php
@@ -2,6 +2,7 @@
namespace JVBase\meta;
use Exception;
+use JVBase\managers\Cache;
if (!defined('ABSPATH')) {
exit;
@@ -103,7 +104,6 @@
protected function getTaxonomyField(Item $item, array $config): string
{
$taxonomy = jvbCheckBase($config['taxonomy']);
- error_log('Getting taxonomy field for taxonomy: '.print_r($taxonomy, true));
$terms = wp_get_object_terms($item->id, $taxonomy, ['fields' => 'ids']);
if (is_wp_error($terms) || empty($terms)) {
@@ -161,10 +161,7 @@
$this->wpdb->query('COMMIT');
// Update post modified timestamp
- if ($updateTimestamp && $item->objectType === 'post' && $item->id) {
- wp_update_post(['ID' => $item->id]);
- }
-
+ Cache::invalidateItem($item->objectType, $item->id);
$this->clearCache($item);
return true;
@@ -434,7 +431,7 @@
{
return match ($name) {
'post_title' => get_the_title($item->id),
- 'post_excerpt' => get_the_excerpt($item->id),
+ 'post_excerpt' => has_excerpt($item->id) ? get_the_excerpt($item->id):'',
'post_content' => get_post_field('post_content', $item->id),
default => $item->wpObject->$name ?? ''
};
@@ -443,7 +440,7 @@
protected function getTermField(Item $item, string $name): mixed
{
return match ($name) {
- 'term_name' => get_term_field('name', $item->id),
+ 'name' => get_term_field('name', $item->id),
'description' => get_term_field('description', $item->id),
default => ''
};
@@ -466,6 +463,9 @@
$value = $field->value;
if (in_array($name, ['featured_image', 'post_thumbnail'])) {
+ if (empty($value)) {
+ return delete_post_thumbnail($item->id);
+ }
return set_post_thumbnail($item->id, $value) !== false;
}
@@ -738,8 +738,20 @@
set_post_thumbnail($id, $fields['post_thumbnail']);
unset($fields['post_thumbnail']);
}
+ if (isset($fields['post_thumbnail'])) {
+ if (empty($fields['post_thumbnail'])) {
+ delete_post_thumbnail($id);
+ } else {
+ set_post_thumbnail($id, $fields['post_thumbnail']);
+ }
+ unset($fields['post_thumbnail']);
+ }
if (isset($fields['featured_image'])) {
- set_post_thumbnail($id, $fields['featured_image']);
+ if (empty($fields['featured_image'])) {
+ delete_post_thumbnail($id);
+ } else {
+ set_post_thumbnail($id, $fields['featured_image']);
+ }
unset($fields['featured_image']);
}
--
Gitblit v1.10.0