request = $request; return is_user_logged_in() && current_user_can( 'edit_posts' ); } public function register_routes() { $this->post( $this->endpoint, [ $this, 'update_preferences' ] ); } public function update_preferences() { $preferences = $this->request->get_param( 'preferences' ); if ( ! is_array( $preferences ) ) { return $this->error( 'invalid_preferences', __( 'No preferences provided.', 'templately' ), 'settings/preferences', 400 ); } return $this->success( [ 'applied' => PreferencesStore::update( $preferences ), ] ); } }