Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
namespace JVBase\managers\SEO\render\Traits\_Properties;
 
use JVBase\managers\SEO\render\Thing\CreativeWork\Menu;
use JVBase\managers\SEO\render\Thing\CreativeWork\MenuSection;
use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper;
 
if (!defined('ABSPATH')) {
    exit;
}
trait hasMenuTrait {
    /**
     * @var Menu|string Either the actual menu as a structured representation, as text, or a URL of the menu.
     * Supersedes menu.
     */
    protected Menu|string $hasMenu;
 
    public function getHasMenu():Menu|string|null
    {
        return $this->hasMenu??null;
    }
    public function setHasMenu(Menu|string $hasMenu):void
    {
        if (is_string($hasMenu)) {
            if (!filter_var($hasMenu, FILTER_VALIDATE_URL)) {
                error_log('[SEO]HasMenu intended to be a url pointing to the menu, or a Menu object.');
                return;
            }
        }
        $this->hasMenu = $hasMenu;
    }
}