148 lines
No EOL
2.6 KiB
PHP
148 lines
No EOL
2.6 KiB
PHP
<?php
|
|
/*
|
|
* Plugin Name: Ele Custom Skin Loop Item
|
|
* Version: 1.0.1
|
|
*/
|
|
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
|
|
/**
|
|
* Main Elementor Test Extension Class
|
|
*
|
|
* The main class that initiates and runs the plugin.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
final class Ele_Custom_Loop_Item{
|
|
|
|
|
|
/**
|
|
* Instance
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access private
|
|
* @static
|
|
*
|
|
* @var Elementor_Test_Extension The single instance of the class.
|
|
*/
|
|
private static $_instance = null;
|
|
|
|
/**
|
|
* Instance
|
|
*
|
|
* Ensures only one instance of the class is loaded or can be loaded.
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
* @static
|
|
*
|
|
* @return Elementor_Test_Extension An instance of the class.
|
|
*/
|
|
public static function instance() {
|
|
|
|
if ( is_null( self::$_instance ) ) {
|
|
self::$_instance = new self();
|
|
}
|
|
return self::$_instance;
|
|
|
|
}
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
*/
|
|
public function __construct() {
|
|
|
|
$this->init();
|
|
|
|
}
|
|
|
|
/**
|
|
* Initialize the plugin
|
|
*
|
|
* Load the plugin only after Elementor (and other plugins) are loaded.
|
|
* Checks for basic plugin requirements, if one check fail don't continue,
|
|
* if all check have passed load the files required to run the plugin.
|
|
*
|
|
* Fired by `plugins_loaded` action hook.
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
*/
|
|
public function init() {
|
|
|
|
// Add Plugin actions
|
|
add_action( 'elementor/widgets/register', [ $this, 'init_widgets' ] );
|
|
add_action( 'elementor/controls/register', [ $this, 'init_controls' ] );
|
|
$this->init_includes();
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* Init Widgets
|
|
*
|
|
* Include widgets files and register them
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
*/
|
|
public function init_widgets() {
|
|
|
|
// Include Widget files
|
|
require_once( __DIR__ . '/widgets/loop-item.php' );
|
|
|
|
// Register widget
|
|
\Elementor\Plugin::instance()->widgets_manager->register( new \Ele_Custom_Loop_Item_Widget() );
|
|
|
|
}
|
|
/**
|
|
* Init Includes
|
|
*
|
|
* Include the necessary files and register them
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
*/
|
|
public function init_includes() {
|
|
|
|
/* foreach (glob( __DIR__ . "/includes/*.php") as $filename)
|
|
{
|
|
require_once( $filename );
|
|
}*/
|
|
|
|
}
|
|
|
|
/**
|
|
* Init Controls
|
|
*
|
|
* Include controls files and register them
|
|
*
|
|
* @since 1.0.0
|
|
*
|
|
* @access public
|
|
*/
|
|
public function init_controls() {
|
|
|
|
// Include Control files
|
|
// require_once( __DIR__ . '/controls/test-control.php' );
|
|
|
|
// Register control
|
|
// \Elementor\Plugin::$instance->controls_manager->register_control( 'control-type-', new \Test_Control() );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
\Ele_Custom_Loop_Item::instance(); |