PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 2.0.0
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v2.0.0
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 4.3.1 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 trunk 0.1.2-beta 0.1.3-beta 0.1.4-beta 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.5.0 1.5.1 1.6.0 1.6.1 1.7.0 1.8.0 1.8.1 1.9.0
shopengine / base / api.php
shopengine / base Last commit date
api.php 5 years ago common.php 5 years ago cpt.php 5 years ago list-model.php 4 years ago widget-config.php 5 years ago widget.php 4 years ago
api.php
43 lines
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 }