| | |
| | | <?php |
| | | namespace JVBase\managers\SEO; |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | |
| | | |
| | | default: |
| | | // Try to find in content, taxonomy, or user configs |
| | | $config = $this->findInConstants($type); |
| | | if (array_key_exists('seo', $config) && is_array($config['seo'])) { |
| | | $config = $config['seo']; |
| | | } |
| | | $registrar = Registrar::getInstance($type); |
| | | $config = $registrar->getConfig('seo'); |
| | | |
| | | // If asking for archive config and none exists, provide default |
| | | if ($configType === 'archive' && !isset($config['archive'])) { |
| | |
| | | return $config[$configType] ?? []; |
| | | } |
| | | } |
| | | /** |
| | | * Find configuration in JVB constants |
| | | */ |
| | | private function findInConstants(string $type): array |
| | | { |
| | | if (defined('JVB_CONTENT') && isset(JVB_CONTENT[$type])) { |
| | | return JVB_CONTENT[$type]; |
| | | } |
| | | if (defined('JVB_TAXONOMY') && isset(JVB_TAXONOMY[$type])) { |
| | | return JVB_TAXONOMY[$type]; |
| | | } |
| | | if (defined('JVB_USER') && isset(JVB_USER[$type])) { |
| | | return JVB_USER[$type]; |
| | | } |
| | | return []; |
| | | } |
| | | |
| | | public function resetConfig(): bool |
| | | { |