'accordion', // accordion | toggle. 'default_style' => 'modern', // minimal | bordered | filled | separated | card | modern. 'engine' => 'aria', // aria | details. 'default_open_first' => false, 'show_search' => false, 'show_filter' => false, 'show_expand_all' => false, 'show_toc' => false, // sticky table-of-contents sidebar. 'icon_position' => 'right', // left | right. 'icon_style' => 'chevron', // chevron | plus | arrow. 'heading_level' => 'h3', // h2..h6. 'enable_schema' => true, 'accent_color' => '', 'public_faq_pages' => false, // expose single/archive FAQ pages. 'delete_data' => false, // remove data on uninstall. // Pro features (bundled into free). 'enable_views' => true, // count views. 'enable_voting' => true, // "was this helpful?" voting. 'enable_submissions' => false, // front-end FAQ submissions. 'submissions_cat' => 0, // default category for submissions. 'enable_ai' => true, // in-editor AI generation (if core AI client present). 'enable_search_analytics' => true, // record what visitors search for. 'notify_submissions' => true, // email admin on a new submission. 'per_page' => 0, // frontend pagination page size (0 = show all). ); /** * Filter the default settings. * * @param array $defaults Default settings. */ return apply_filters( 'accordion_faq_default_settings', $defaults ); } /** * Get all settings merged with defaults. * * @return array */ public static function all() { $saved = get_option( self::OPTION_KEY, array() ); if ( ! is_array( $saved ) ) { $saved = array(); } return wp_parse_args( $saved, self::defaults() ); } /** * Get a single setting. * * @param string $key Setting key. * @param mixed $default Fallback if not set. * @return mixed */ public static function get( $key, $default = null ) { $all = self::all(); if ( array_key_exists( $key, $all ) ) { return $all[ $key ]; } return $default; } /** * Boolean helper. * * @param string $key Setting key. * @return bool */ public static function boolean( $key ) { return (bool) self::get( $key, false ); } }