'Wir verwenden Cookies, um die Webseite sicher zu betreiben und Inhalte zu verbessern.', 'privacy_url' => '', 'accept_label' => 'Alle akzeptieren', 'essential_label' => 'Nur notwendige', 'position' => 'bottom', ); } private function get_settings() { $settings = get_option( self::OPTION_KEY, array() ); if ( ! is_array( $settings ) ) { $settings = array(); } return wp_parse_args( $settings, self::default_settings() ); } public function add_settings_page() { add_options_page( 'KGV Cookie', 'KGV Cookie', 'manage_options', 'kgv-cookie', array( $this, 'render_settings_page' ) ); } public function register_settings() { register_setting( 'kgv_cookie_settings_group', self::OPTION_KEY, array( $this, 'sanitize_settings' ) ); } public function sanitize_settings( $input ) { $defaults = self::default_settings(); $output = array(); $output['banner_text'] = isset( $input['banner_text'] ) ? sanitize_textarea_field( $input['banner_text'] ) : $defaults['banner_text']; $output['privacy_url'] = isset( $input['privacy_url'] ) ? esc_url_raw( $input['privacy_url'] ) : ''; $output['accept_label'] = isset( $input['accept_label'] ) ? sanitize_text_field( $input['accept_label'] ) : $defaults['accept_label']; $output['essential_label'] = isset( $input['essential_label'] ) ? sanitize_text_field( $input['essential_label'] ) : $defaults['essential_label']; $output['position'] = isset( $input['position'] ) && in_array( $input['position'], array( 'top', 'bottom' ), true ) ? $input['position'] : $defaults['position']; return $output; } public function render_settings_page() { if ( ! current_user_can( 'manage_options' ) ) { return; } $settings = $this->get_settings(); ?>