Jake Vanderwerf
2026-08-30 87237f15618e2320967b9380c360b89f7323d2e9
=Meta overhaul, slight reference fixes in BreadcrumbsManager
1 files modified
36 ■■■■■ changed files
inc/managers/SEO/BreadcrumbManager.php 36 ●●●●● patch | view | raw | blame | history
inc/managers/SEO/BreadcrumbManager.php
@@ -25,6 +25,8 @@
    private Cache $postCache;
    private Cache $userCache;
    private static ?self $instance = null;
    private static bool $hasDirectory;
    private static array $directories;
    private function __construct()
    {
@@ -32,6 +34,8 @@
        $this->termCache = Cache::for('breadcrumbs_tax', 'term');
        $this->postCache = Cache::for('breadcrumbs_post', 'post');
        $this->userCache = Cache::for('breadcrumbs_user', 'user');
        self::$hasDirectory = Site::has('is_directory');
        self::$directories = self::$hasDirectory ? DirectoryManager::getInstance()->directories() : [];
    }
    public static function getInstance(): self
@@ -120,12 +124,11 @@
                $content = is_array($registrar->registrar->for) ? $registrar->registrar->for[0] : $registrar->registrar->for;
                $contentRegistrar = Registrar::getInstance($content);
                if(Site::has('is_directory') && $contentRegistrar && $contentRegistrar->hasFeature('show_directory')) {
                    $directory = DirectoryManager::getInstance();
                    if (!empty($directory->directories($content)??[])){
                if(self::$hasDirectory && $contentRegistrar && $contentRegistrar->hasFeature('show_directory')) {
                    if (!empty(self::$directories[$content]??[])){
                        $crumbs[] = [
                            'name'  => $directory->directories($content)['title'],
                            'url'   =>$directory->directories($content)['url']
                            'name'  => self::$directories[$content]['title'],
                            'url'   => self::$directories[$content]['url']
                        ];
                    }
                } else {
@@ -143,12 +146,12 @@
        // Add directory if exists
        if ($registrar && $registrar->hasFeature('show_directory')) {
            $directory = DirectoryManager::getInstance();
            if ($directory && !empty($directory->directories($tax)??[])) {
        if (self::$hasDirectory && $registrar && $registrar->hasFeature('show_directory')) {
            if (!empty(self::$directories[$tax]??[])) {
                $crumbs[] = [
                    'name'  => $directory->directories($tax)['title'],
                    'url'   =>$directory->directories($tax)['url']
                    'name'  => self::$directories[$tax]['title'],
                    'url'   => self::$directories[$tax]['url']
                ];
            }
        }
@@ -171,14 +174,14 @@
        }
        // Handle directory posts specially
        if (Site::has('is_directory') && DirectoryManager::getInstance()->isDirectory()) {
        if (self::$hasDirectory && DirectoryManager::getInstance()->isDirectory()) {
            $pos = jvbGetDirectoryInfo();
            if (!empty($pos)) {
                // Special case for map
                if ($pos['title'] == 'Map') {
                    $crumbs[] = [
                        'name' => 'Tattoo Shops',
                        'url'  => DirectoryManager::getInstance()->directories(BASE.'shop')['url']
                        'url'  => DirectoryManager::getInstance()->directories(BASE.'shop')['url']??''
                    ];
                }
@@ -212,13 +215,12 @@
        $registrar = Registrar::getInstance($name);
        if($registrar && $registrar->hasFeature('show_directory') && DirectoryManager::getInstance()) {
            $directory = DirectoryManager::getInstance();
        if(self::$hasDirectory && $registrar && $registrar->hasFeature('show_directory')) {
            if ($directory && !empty($directory->directories($name)??[])){
            if (!empty(self::$directories[$name]??[])){
                $crumbs[] = [
                    'name'  => $directory->directories($name)['title'],
                    'url'   =>$directory->directories($name)['url']
                    'name'  => self::$directories[$name]['title'],
                    'url'   => self::$directories[$name]['url']
                ];
            }
        } elseif (Site::has('is_directory') && $name === 'directory') {