| | |
| | | <?php |
| | | namespace JVBase\registry; |
| | | |
| | | use JVBase\meta\MetaManager; |
| | | use JVBase\meta\MetaRegistry; |
| | | use JVBase\managers\CRUD; |
| | | use JVBase\meta\Meta; |
| | | use JVBase\meta\Registry; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | |
| | | if ($this->config['is_content'] ?? false) { |
| | | $this->setupContentTaxonomyHooks(); |
| | | } |
| | | add_filter('jvbDashboardPage', [$this, 'renderDashPage'], 10, 3); |
| | | } |
| | | |
| | | public function register(): void |
| | |
| | | |
| | | $this->maybeAddRewriteRule($args['rewrite']); |
| | | if (!empty($this->fields)) { |
| | | $meta_registry = new MetaRegistry($this->fields, $this->slug, 'term'); |
| | | $meta_registry = new Registry($this->fields, $this->slug, 'term'); |
| | | $meta_registry->registerMetaFields(); |
| | | } |
| | | } |
| | |
| | | ]; |
| | | |
| | | // Get meta manager for this term |
| | | $meta = new MetaManager($term_id, 'term'); |
| | | $meta = Meta::forTerm($term_id); |
| | | $values = $meta->getAll(array_keys($custom_fields)); |
| | | |
| | | // Process each custom field |
| | |
| | | return $data; |
| | | } |
| | | |
| | | /** |
| | | * Get custom table fields for this taxonomy |
| | | * @return array Field definitions |
| | | */ |
| | | protected function getCustomTableFields():array |
| | | { |
| | | return jvbContentTaxonomiesTableFields($this->slug)['fields'] ?? []; |
| | | } |
| | | public function renderDashPage(string $content, string $page, string $slug):string |
| | | { |
| | | if ($slug === $this->slug) { |
| | | ob_start(); |
| | | $crud = new CRUD($slug); |
| | | $crud->render(); |
| | | return ob_get_clean(); |
| | | } |
| | | |
| | | return $content; |
| | | } |
| | | } |