This commit is contained in:
proelements
2025-11-13 15:18:34 +02:00
commit 9ac2bf2aa0
1178 changed files with 296944 additions and 0 deletions

33
core/data/controller.php Normal file
View File

@@ -0,0 +1,33 @@
<?php
namespace ElementorPro\Core\Data;
use ElementorPro\Modules\LoopFilter\Data\Endpoints\Base;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
abstract class Controller {
private $endpoints = [];
abstract public function get_name();
public function get_namespace() {
return 'elementor-pro/v1';
}
abstract protected function register_endpoints();
protected function register_endpoint( $endpoint ) {
$endpoint_instance = new $endpoint( $this );
$this->endpoints[ $endpoint_instance->get_name() ] = $endpoint_instance;
}
public function __construct() {
add_action( 'rest_api_init', function () {
$this->register_endpoints(); // Because 'register_endpoints' is protected.
} );
}
}