<?php
declare(strict_types=1);
namespace MeinWeimar;
final class ElementorAdapter
{
public static function hooks(): void
{
add_action('elementor/elements/categories_registered', [self::class, 'register_category']);
add_action('elementor/widgets/register', [self::class, 'register_widgets']);
add_action('elementor/dynamic_tags/register', [self::class, 'register_dynamic_tags']);
}
public static function register_category($elements_manager): void
{
$elements_manager->add_category('meinweimar', [
'title' => __('MeinWeimar', 'meinweimar-core'),
'icon' => 'eicon-map-pin',
]);
}
public static function register_widgets($widgets_manager): void
{
if (!class_exists('\Elementor\Widget_Base')) {
return;
}
require_once DIR . '/includes/class-elementor-widgets.php';
require_once DIR . '/includes/class-elementor-detail-widget.php';
require_once DIR . '/includes/class-elementor-shell-widget.php';
require_once DIR . '/includes/class-elementor-navigation-widget.php';
require_once DIR . '/includes/class-elementor-account-widget.php';
$widgets_manager->register(new Elementor\BrandWidget());
$widgets_manager->register(new Elementor\DiscoveryWidget());
$widgets_manager->register(new Elementor\DetailWidget());
$widgets_manager->register(new Elementor\ShellWidget());
$widgets_manager->register(new Elementor\NavigationWidget());
$widgets_manager->register(new Elementor\AccountWidget());
}
public static function register_dynamic_tags($dynamic_tags): void
{
if (!class_exists('\\Elementor\\Core\\DynamicTags\\Tag')) {
return;
}
require_once DIR . '/includes/class-elementor-dynamic-tags.php';
$dynamic_tags->register_group('meinweimar', [
'title' => __('MeinWeimar', 'meinweimar-core'),
]);
$dynamic_tags->register(new Elementor\BrandWordmarkTag());
$dynamic_tags->register(new Elementor\BrandPrimaryColorTag());
$dynamic_tags->register(new Elementor\BrandSecondaryColorTag());
$dynamic_tags->register(new Elementor\BrandLogoLightTag());
$dynamic_tags->register(new Elementor\BrandLogoDarkTag());
}
}
