From a6595eff3553125ebaad29a33634caf63bd28cae Mon Sep 17 00:00:00 2001 From: David Mosterd Date: Sun, 16 Mar 2025 16:06:01 +0100 Subject: [PATCH] poc scoping --- settings/route-additions.php | 11 +++++++++++ src/RouteInformation.php | 17 ++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 settings/route-additions.php diff --git a/settings/route-additions.php b/settings/route-additions.php new file mode 100644 index 0000000..0eab7be --- /dev/null +++ b/settings/route-additions.php @@ -0,0 +1,11 @@ + [ + 'POST' => [ + 'defaults' => [ + 'status' => 'private', + ], + ], + ], +]; diff --git a/src/RouteInformation.php b/src/RouteInformation.php index 542025b..b1f7ffc 100644 --- a/src/RouteInformation.php +++ b/src/RouteInformation.php @@ -78,10 +78,25 @@ class RouteInformation return ! $this->is_singular(); } + public function get_scope(): string + { + if ( ! $this->is_wp_rest_controller()) { + return 'default'; + } + + $context = [ + WP_REST_Posts_Controller::class => 'post', + WP_REST_Users_Controller::class => 'user', + WP_REST_Taxonomies_Controller::class => 'taxonomy', + ]; + + return $context[get_class($this->get_wp_rest_controller())]; + } + public function is_wp_rest_controller(): bool { // The callback form for a WP_REST_Controller is [ WP_REST_Controller, method ] - if ( ! is_array( $this->callback ) ) { + if ( ! is_array($this->callback)) { return false; }