| | |
| | | use JVBase\managers\Cache; |
| | | use JVBase\ui\Navigation; |
| | | use WP_Block; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | class DrawerMenuBlock { |
| | | protected Cache $cache; |
| | | public function __construct() |
| | |
| | | } |
| | | |
| | | $cache = Cache::for('drawer'); |
| | | if (JVB_TESTING) { |
| | | $cache->flush(); |
| | | } |
| | | |
| | | |
| | | if (!is_front_page()) { |
| | | $menu_items[] = [ |
| | |
| | | } |
| | | $items = array_map(function($item) { return $item['text'];}, $menu_items); |
| | | |
| | | $key = $cache->generateKey($items); |
| | | $menu = $cache->remember($key, |
| | | $menu = $cache->remember($items, |
| | | function () use ($menu_items, $menu_id, $collapsed) { |
| | | $menu = new Navigation($menu_id); |
| | | $menu->asDrawer($collapsed)->populateFromArray($menu_items); |