diff --git a/public/admin/class-indexnow-url-submission-admin.php b/public/admin/class-indexnow-url-submission-admin.php index 4e32859..355e6dc 100644 --- a/public/admin/class-indexnow-url-submission-admin.php +++ b/public/admin/class-indexnow-url-submission-admin.php @@ -107,7 +107,7 @@ public function add_plugin_admin_menu() add_options_page( __('IndexNow Plugin', $this->plugin_name), __('IndexNow', $this->plugin_name), - 'manage_options', + BWT_IndexNow_Admin_Utils::get_admin_capability(), $this->plugin_name, array($this, 'display_plugin_admin_page') ); diff --git a/public/admin/utils/class-indexnow-url-submission-admin-routes.php b/public/admin/utils/class-indexnow-url-submission-admin-routes.php index f9baa8d..385ec71 100644 --- a/public/admin/utils/class-indexnow-url-submission-admin-routes.php +++ b/public/admin/utils/class-indexnow-url-submission-admin-routes.php @@ -133,8 +133,8 @@ public function register_routes() { } public function admin_permissions_check( $request ) { - return current_user_can( "manage_options" ); - } + return current_user_can( BWT_IndexNow_Admin_Utils::get_admin_capability() ); + } public function get_api_key( $request ) { return $this->try_catch($request, array($this, 'call_get_api_key')); diff --git a/public/admin/utils/class-indexnow-url-submission-admin-utils.php b/public/admin/utils/class-indexnow-url-submission-admin-utils.php index 6b821c5..93ee148 100644 --- a/public/admin/utils/class-indexnow-url-submission-admin-utils.php +++ b/public/admin/utils/class-indexnow-url-submission-admin-utils.php @@ -118,6 +118,18 @@ public static function generate_indexnow_key() update_option( 'indexnow-admin_api_key', base64_encode( $api_key ) ); update_option( 'indexnow-is_valid_api_key', '1' ); } + + /** + * Get the capability name required to access the admin page. + */ + public static function get_admin_capability() { + /** + * Filters the IndexNow admin capability. + * + * @param string $capability Capability slug. + */ + return apply_filters( 'indexnow_admin_capability', 'manage_options' ); + } } class IndexNowSubmissionCount {