42 lines
1.0 KiB
PHP
42 lines
1.0 KiB
PHP
<?php
|
|
namespace WPC;
|
|
|
|
// use Elementor\Plugin; ?????
|
|
|
|
class Widget_Loader {
|
|
|
|
private static $_instance = null;
|
|
|
|
public static function instance()
|
|
{
|
|
if (is_null(self::$_instance)) {
|
|
self::$_instance = new self();
|
|
}
|
|
return self::$_instance;
|
|
}
|
|
|
|
|
|
private function include_widgets_files(){
|
|
require_once(__DIR__ . '/widgets/custom-post-grid.php');
|
|
require_once(__DIR__ . '/widgets/feature-article.php');
|
|
require_once(__DIR__ . '/widgets/store-block.php');
|
|
}
|
|
|
|
public function register_widgets(){
|
|
|
|
$this->include_widgets_files();
|
|
|
|
\Elementor\Plugin::instance()->widgets_manager->register_widget_type(new Widgets\CustomPostGrid());
|
|
\Elementor\Plugin::instance()->widgets_manager->register_widget_type(new Widgets\FeatureArticle());
|
|
\Elementor\Plugin::instance()->widgets_manager->register_widget_type(new Widgets\StoreBlock());
|
|
|
|
}
|
|
|
|
public function __construct(){
|
|
add_action('elementor/widgets/widgets_registered', [$this, 'register_widgets'], 99);
|
|
}
|
|
}
|
|
|
|
// Instantiate Plugin Class
|
|
Widget_Loader::instance();
|