| | |
| | | namespace JVBase\meta; |
| | | |
| | | use Exception; |
| | | use JVBase\managers\Cache; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | |
| | | 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)) { |
| | |
| | | $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; |
| | |
| | | { |
| | | 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 ?? '' |
| | | }; |
| | |
| | | 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 => '' |
| | | }; |
| | |
| | | $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; |
| | | } |
| | | |
| | |
| | | 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']); |
| | | } |
| | | |