PluginProbe
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution with eCommerce Templates & Woo Widgets / 1.4.0
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution with eCommerce Templates & Woo Widgets v1.4.0
4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.1 3.0.0 3.1.0 3.1.1 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.3.0 All 85 releases
shopengine / base / api.php
api.php
43 lines 900 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ShopEngine\Base;
4
5 defined('ABSPATH') || exit;
6
7 abstract class Api {
8
9 public $prefix = '';
10 public $param = '';
11 public $request = null;
12
13
14 abstract public function config();
15
16
17 public function __construct() {
18 $this->config();
19 $this->init();
20 }
21
22
23 public function init() {
24 add_action('rest_api_init', function() {
25 register_rest_route(untrailingslashit(\ShopEngine::SHOPENGINE_PREFIX.'/v1/' . $this->prefix), '/(?P<action>\w+)/' . ltrim($this->param, '/'), array(
26 'methods' => \WP_REST_Server::ALLMETHODS,
27 'callback' => [$this, 'action'],
28 'permission_callback' => '__return_true',
29 ));
30 });
31 }
32
33
34 public function action($request) {
35 $this->request = $request;
36 $action_class = strtolower($this->request->get_method()) . '_' . sanitize_key($this->request['action']);
37
38 if(method_exists($this, $action_class)) {
39 return $this->{$action_class}();
40 }
41 }
42
43 }