'string', 'sanitize_callback' => 'sanitize_text_field', ]); register_setting('adwings_chat_settings', 'adwings_chat_widget_color', [ 'type' => 'string', 'sanitize_callback' => 'sanitize_hex_color', ]); register_setting('adwings_chat_settings', 'adwings_chat_widget_position', [ 'type' => 'string', 'sanitize_callback' => 'adwings_chat_sanitize_position', ]); register_setting('adwings_chat_settings', 'adwings_chat_server_url', [ 'type' => 'string', 'sanitize_callback' => 'esc_url_raw', ]); register_setting('adwings_chat_settings', 'adwings_chat_widget_url', [ 'type' => 'string', 'sanitize_callback' => 'esc_url_raw', ]); register_setting('adwings_chat_settings', 'adwings_chat_widget_auto_open', [ 'type' => 'string', 'sanitize_callback' => 'adwings_chat_sanitize_checkbox', ]); } add_action('admin_init', 'adwings_chat_register_settings'); function adwings_chat_sanitize_position($value) { return in_array($value, ['bottom-right', 'bottom-left'], true) ? $value : 'bottom-right'; } function adwings_chat_sanitize_checkbox($value) { return $value === '1' ? '1' : '0'; } function adwings_chat_admin_menu() { add_options_page( __('Adwings Chat Platform Widget Settings', 'adwings-chat-platform-widget'), __('Adwings Chat Platform Widget', 'adwings-chat-platform-widget'), 'manage_options', 'adwings-chat-platform-widget', 'adwings_chat_settings_page' ); } add_action('admin_menu', 'adwings_chat_admin_menu');