/** * Astra Updates * * Functions for updating data, used by the background updater. * * @package Astra * @version 2.1.3 */ defined( 'ABSPATH' ) || exit; /** * Open Submenu just below menu for existing users. * * @since 2.1.3 * @return void */ function astra_submenu_below_header() { $theme_options = get_option( 'astra-settings' ); // Set flag to use flex align center css to open submenu just below menu. if ( ! isset( $theme_options['submenu-open-below-header'] ) ) { $theme_options['submenu-open-below-header'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Do not apply new default colors to the Elementor & Gutenberg Buttons for existing users. * * @since 2.2.0 * * @return void */ function astra_page_builder_button_color_compatibility() { $theme_options = get_option( 'astra-settings', array() ); // Set flag to not load button specific CSS. if ( ! isset( $theme_options['pb-button-color-compatibility'] ) ) { $theme_options['pb-button-color-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrate option data from button vertical & horizontal padding to the new responsive padding param. * * @since 2.2.0 * * @return void */ function astra_vertical_horizontal_padding_migration() { $theme_options = get_option( 'astra-settings', array() ); $btn_vertical_padding = isset( $theme_options['button-v-padding'] ) ? $theme_options['button-v-padding'] : 10; $btn_horizontal_padding = isset( $theme_options['button-h-padding'] ) ? $theme_options['button-h-padding'] : 40; /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( false === astra_get_db_option( 'theme-button-padding', false ) ) { // Migrate button vertical padding to the new padding param for button. $theme_options['theme-button-padding'] = array( 'desktop' => array( 'top' => $btn_vertical_padding, 'right' => $btn_horizontal_padding, 'bottom' => $btn_vertical_padding, 'left' => $btn_horizontal_padding, ), 'tablet' => array( 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', ), 'mobile' => array( 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', ), 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); update_option( 'astra-settings', $theme_options ); } } /** * Migrate option data from button url to the new link param. * * @since 2.3.0 * * @return void */ function astra_header_button_new_options() { $theme_options = get_option( 'astra-settings', array() ); $btn_url = isset( $theme_options['header-main-rt-section-button-link'] ) ? $theme_options['header-main-rt-section-button-link'] : 'https://www.wpastra.com'; $theme_options['header-main-rt-section-button-link-option'] = array( 'url' => $btn_url, 'new_tab' => false, 'link_rel' => '', ); update_option( 'astra-settings', $theme_options ); } /** * For existing users, do not provide Elementor Default Color Typo settings compatibility by default. * * @since 2.3.3 * * @return void */ function astra_elementor_default_color_typo_comp() { $theme_options = get_option( 'astra-settings', array() ); // Set flag to not load button specific CSS. if ( ! isset( $theme_options['ele-default-color-typo-setting-comp'] ) ) { $theme_options['ele-default-color-typo-setting-comp'] = false; update_option( 'astra-settings', $theme_options ); } } /** * For existing users, change the separator from html entity to css entity. * * @since 2.3.4 * * @return void */ function astra_breadcrumb_separator_fix() { $theme_options = get_option( 'astra-settings', array() ); // Check if the saved database value for Breadcrumb Separator is "»", then change it to '\00bb'. if ( isset( $theme_options['breadcrumb-separator'] ) && '»' === $theme_options['breadcrumb-separator'] ) { $theme_options['breadcrumb-separator'] = '\00bb'; update_option( 'astra-settings', $theme_options ); } } /** * Check if we need to change the default value for tablet breakpoint. * * @since 2.4.0 * @return void */ function astra_update_theme_tablet_breakpoint() { $theme_options = get_option( 'astra-settings' ); if ( ! isset( $theme_options['can-update-theme-tablet-breakpoint'] ) ) { // Set a flag to check if we need to change the theme tablet breakpoint value. $theme_options['can-update-theme-tablet-breakpoint'] = false; } update_option( 'astra-settings', $theme_options ); } /** * Migrate option data from site layout background option to its desktop counterpart. * * @since 2.4.0 * * @return void */ function astra_responsive_base_background_option() { $theme_options = get_option( 'astra-settings', array() ); if ( false === get_option( 'site-layout-outside-bg-obj-responsive', false ) && isset( $theme_options['site-layout-outside-bg-obj'] ) ) { $theme_options['site-layout-outside-bg-obj-responsive']['desktop'] = $theme_options['site-layout-outside-bg-obj']; $theme_options['site-layout-outside-bg-obj-responsive']['tablet'] = array( 'background-color' => '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', ); $theme_options['site-layout-outside-bg-obj-responsive']['mobile'] = array( 'background-color' => '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', ); } update_option( 'astra-settings', $theme_options ); } /** * Do not apply new wide/full image CSS for existing users. * * @since 2.4.4 * * @return void */ function astra_gtn_full_wide_image_group_css() { $theme_options = get_option( 'astra-settings', array() ); // Set flag to not load button specific CSS. if ( ! isset( $theme_options['gtn-full-wide-image-grp-css'] ) ) { $theme_options['gtn-full-wide-image-grp-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Do not apply new wide/full Group and Cover block CSS for existing users. * * @since 2.5.0 * * @return void */ function astra_gtn_full_wide_group_cover_css() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['gtn-full-wide-grp-cover-css'] ) ) { $theme_options['gtn-full-wide-grp-cover-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Do not apply the global border width and border color setting for the existng users. * * @since 2.5.0 * * @return void */ function astra_global_button_woo_css() { $theme_options = get_option( 'astra-settings', array() ); // Set flag to not load button specific CSS. if ( ! isset( $theme_options['global-btn-woo-css'] ) ) { $theme_options['global-btn-woo-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrate Footer Widget param to array. * * @since 2.5.2 * * @return void */ function astra_footer_widget_bg() { $theme_options = get_option( 'astra-settings', array() ); // Check if Footer Backgound array is already set or not. If not then set it as array. if ( isset( $theme_options['footer-adv-bg-obj'] ) && ! is_array( $theme_options['footer-adv-bg-obj'] ) ) { $theme_options['footer-adv-bg-obj'] = array( 'background-color' => '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', ); update_option( 'astra-settings', $theme_options ); } } /** * Check if we need to load icons as font or SVG. * * @since 3.3.0 * @return void */ function astra_icons_svg_compatibility() { $theme_options = get_option( 'astra-settings' ); if ( ! isset( $theme_options['can-update-astra-icons-svg'] ) ) { // Set a flag to check if we need to add icons as SVG. $theme_options['can-update-astra-icons-svg'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrate Background control options to new array. * * @since 3.0.0 * * @return void */ function astra_bg_control_migration() { $db_options = array( 'footer-adv-bg-obj', 'footer-bg-obj', 'sidebar-bg-obj', ); $theme_options = get_option( 'astra-settings', array() ); foreach ( $db_options as $option_name ) { if ( ! ( isset( $theme_options[ $option_name ]['background-type'] ) && isset( $theme_options[ $option_name ]['background-media'] ) ) && isset( $theme_options[ $option_name ] ) ) { if ( ! empty( $theme_options[ $option_name ]['background-image'] ) ) { $theme_options[ $option_name ]['background-type'] = 'image'; $theme_options[ $option_name ]['background-media'] = attachment_url_to_postid( $theme_options[ $option_name ]['background-image'] ); } else { $theme_options[ $option_name ]['background-type'] = ''; $theme_options[ $option_name ]['background-media'] = ''; } error_log( sprintf( 'Astra: Migrating Background Option - %s', $option_name ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log update_option( 'astra-settings', $theme_options ); } } } /** * Migrate Background Responsive options to new array. * * @since 3.0.0 * * @return void */ function astra_bg_responsive_control_migration() { $db_options = array( 'site-layout-outside-bg-obj-responsive', 'content-bg-obj-responsive', 'header-bg-obj-responsive', 'primary-menu-bg-obj-responsive', 'above-header-bg-obj-responsive', 'above-header-menu-bg-obj-responsive', 'below-header-bg-obj-responsive', 'below-header-menu-bg-obj-responsive', ); $theme_options = get_option( 'astra-settings', array() ); foreach ( $db_options as $option_name ) { if ( ! ( isset( $theme_options[ $option_name ]['desktop']['background-type'] ) && isset( $theme_options[ $option_name ]['desktop']['background-media'] ) ) && isset( $theme_options[ $option_name ] ) ) { if ( ! empty( $theme_options[ $option_name ]['desktop']['background-image'] ) ) { $theme_options[ $option_name ]['desktop']['background-type'] = 'image'; $theme_options[ $option_name ]['desktop']['background-media'] = attachment_url_to_postid( $theme_options[ $option_name ]['desktop']['background-image'] ); } else { $theme_options[ $option_name ]['desktop']['background-type'] = ''; $theme_options[ $option_name ]['desktop']['background-media'] = ''; } if ( ! empty( $theme_options[ $option_name ]['tablet']['background-image'] ) ) { $theme_options[ $option_name ]['tablet']['background-type'] = 'image'; $theme_options[ $option_name ]['tablet']['background-media'] = attachment_url_to_postid( $theme_options[ $option_name ]['tablet']['background-image'] ); } else { $theme_options[ $option_name ]['tablet']['background-type'] = ''; $theme_options[ $option_name ]['tablet']['background-media'] = ''; } if ( ! empty( $theme_options[ $option_name ]['mobile']['background-image'] ) ) { $theme_options[ $option_name ]['mobile']['background-type'] = 'image'; $theme_options[ $option_name ]['mobile']['background-media'] = attachment_url_to_postid( $theme_options[ $option_name ]['mobile']['background-image'] ); } else { $theme_options[ $option_name ]['mobile']['background-type'] = ''; $theme_options[ $option_name ]['mobile']['background-media'] = ''; } error_log( sprintf( 'Astra: Migrating Background Response Option - %s', $option_name ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log update_option( 'astra-settings', $theme_options ); } } } /** * Do not apply new Group, Column and Media & Text block CSS for existing users. * * @since 3.0.0 * * @return void */ function astra_gutenberg_core_blocks_design_compatibility() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['guntenberg-core-blocks-comp-css'] ) ) { $theme_options['guntenberg-core-blocks-comp-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Header Footer builder - Migration compatibility. * * @since 3.0.0 * * @return void */ function astra_header_builder_compatibility() { $theme_options = get_option( 'astra-settings', array() ); // Set flag to not load button specific CSS. if ( ! isset( $theme_options['is-header-footer-builder'] ) ) { $theme_options['is-header-footer-builder'] = false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['header-footer-builder-notice'] ) ) { $theme_options['header-footer-builder-notice'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Clears assets cache and regenerates new assets files. * * @since 3.0.1 * * @return void */ function astra_clear_assets_cache() { if ( is_callable( 'Astra_Minify::refresh_assets' ) ) { Astra_Minify::refresh_assets(); } } /** * Do not apply new Media & Text block padding CSS & not remove padding for #primary on mobile devices directly for existing users. * * @since 2.6.1 * * @return void */ function astra_gutenberg_media_text_block_css_compatibility() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['guntenberg-media-text-block-padding-css'] ) ) { $theme_options['guntenberg-media-text-block-padding-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Gutenberg pattern compatibility changes. * * @since 3.3.0 * * @return void */ function astra_gutenberg_pattern_compatibility() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['guntenberg-button-pattern-compat-css'] ) ) { $theme_options['guntenberg-button-pattern-compat-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to provide backward compatibility of float based CSS for existing users. * * @since 3.3.0 * @return void. */ function astra_check_flex_based_css() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['is-flex-based-css'] ) ) { $theme_options['is-flex-based-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Update the Cart Style, Icon color & Border radius if None style is selected. * * @since 3.4.0 * @return void. */ function astra_update_cart_style() { $theme_options = get_option( 'astra-settings', array() ); if ( isset( $theme_options['woo-header-cart-icon-style'] ) && 'none' === $theme_options['woo-header-cart-icon-style'] ) { $theme_options['woo-header-cart-icon-style'] = 'outline'; $theme_options['header-woo-cart-icon-color'] = ''; $theme_options['woo-header-cart-icon-color'] = ''; $theme_options['woo-header-cart-icon-radius'] = ''; } if ( isset( $theme_options['edd-header-cart-icon-style'] ) && 'none' === $theme_options['edd-header-cart-icon-style'] ) { $theme_options['edd-header-cart-icon-style'] = 'outline'; $theme_options['edd-header-cart-icon-color'] = ''; $theme_options['edd-header-cart-icon-radius'] = ''; } update_option( 'astra-settings', $theme_options ); } /** * Update existing 'Grid Column Layout' option in responsive way in Related Posts. * Till this update 3.5.0 we have 'Grid Column Layout' only for singular option, but now we are improving it as responsive. * * @since 3.5.0 * @return void. */ function astra_update_related_posts_grid_layout() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['related-posts-grid-responsive'] ) && isset( $theme_options['related-posts-grid'] ) ) { /** * Managed here switch case to reduce further conditions in dynamic-css to get CSS value based on grid-template-columns. Because there are following CSS props used. * * '1' = grid-template-columns: 1fr; * '2' = grid-template-columns: repeat(2,1fr); * '3' = grid-template-columns: repeat(3,1fr); * '4' = grid-template-columns: repeat(4,1fr); * * And we already have Astra_Builder_Helper::$grid_size_mapping (used for footer layouts) for getting CSS values based on grid layouts. So migrating old value of grid here to new grid value. */ switch ( $theme_options['related-posts-grid'] ) { case '1': $grid_layout = 'full'; break; case '2': $grid_layout = '2-equal'; break; case '3': $grid_layout = '3-equal'; break; case '4': $grid_layout = '4-equal'; break; } $theme_options['related-posts-grid-responsive'] = array( 'desktop' => $grid_layout, 'tablet' => $grid_layout, 'mobile' => 'full', ); update_option( 'astra-settings', $theme_options ); } } /** * Migrate Site Title & Site Tagline options to new responsive array. * * @since 3.5.0 * * @return void */ function astra_site_title_tagline_responsive_control_migration() { $theme_options = get_option( 'astra-settings', array() ); if ( false === get_option( 'display-site-title-responsive', false ) && isset( $theme_options['display-site-title'] ) ) { $theme_options['display-site-title-responsive']['desktop'] = $theme_options['display-site-title']; $theme_options['display-site-title-responsive']['tablet'] = $theme_options['display-site-title']; $theme_options['display-site-title-responsive']['mobile'] = $theme_options['display-site-title']; } if ( false === get_option( 'display-site-tagline-responsive', false ) && isset( $theme_options['display-site-tagline'] ) ) { $theme_options['display-site-tagline-responsive']['desktop'] = $theme_options['display-site-tagline']; $theme_options['display-site-tagline-responsive']['tablet'] = $theme_options['display-site-tagline']; $theme_options['display-site-tagline-responsive']['mobile'] = $theme_options['display-site-tagline']; } update_option( 'astra-settings', $theme_options ); } /** * Do not apply new font-weight heading support CSS in editor/frontend directly. * * 1. Adding Font-weight support to widget titles. * 2. Customizer font CSS not supporting in editor. * * @since 3.6.0 * * @return void */ function astra_headings_font_support() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['can-support-widget-and-editor-fonts'] ) ) { $theme_options['can-support-widget-and-editor-fonts'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * @since 3.6.0 * @return void. */ function astra_remove_logo_max_width() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['can-remove-logo-max-width-css'] ) ) { $theme_options['can-remove-logo-max-width-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to maintain backward compatibility for existing users for Transparent Header border bottom default value i.e from '' to 0. * * @since 3.6.0 * @return void. */ function astra_transparent_header_default_value() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['transparent-header-default-border'] ) ) { $theme_options['transparent-header-default-border'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Clear Astra + Astra Pro assets cache. * * @since 3.6.1 * @return void. */ function astra_clear_all_assets_cache() { if ( ! class_exists( 'Astra_Cache_Base' ) ) { return; } // Clear Astra theme asset cache. $astra_cache_base_instance = new Astra_Cache_Base( 'astra' ); $astra_cache_base_instance->refresh_assets( 'astra' ); // Clear Astra Addon's static and dynamic CSS asset cache. astra_clear_assets_cache(); $astra_addon_cache_base_instance = new Astra_Cache_Base( 'astra-addon' ); $astra_addon_cache_base_instance->refresh_assets( 'astra-addon' ); } /** * Set flag for updated default values for buttons & add GB Buttons padding support. * * @since 3.6.3 * @return void */ function astra_button_default_values_updated() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['btn-default-padding-updated'] ) ) { $theme_options['btn-default-padding-updated'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag for old users, to not directly apply underline to content links. * * @since 3.6.4 * @return void */ function astra_update_underline_link_setting() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['underline-content-links'] ) ) { $theme_options['underline-content-links'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Add compatibility support for WP-5.8. as some of settings & blocks already their in WP-5.7 versions, that's why added backward here. * * @since 3.6.5 * @return void */ function astra_support_block_editor() { $theme_options = get_option( 'astra-settings' ); // Set flag on existing user's site to not reflect changes directly. if ( ! isset( $theme_options['support-block-editor'] ) ) { $theme_options['support-block-editor'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to maintain backward compatibility for existing users. * Fixing the case where footer widget's right margin space not working. * * @since 3.6.7 * @return void */ function astra_fix_footer_widget_right_margin_case() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['support-footer-widget-right-margin'] ) ) { $theme_options['support-footer-widget-right-margin'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * @since 3.6.7 * @return void */ function astra_remove_elementor_toc_margin() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['remove-elementor-toc-margin-css'] ) ) { $theme_options['remove-elementor-toc-margin-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * Use: Setting flag for removing widget specific design options when WordPress 5.8 & above activated on site. * * @since 3.6.8 * @return void */ function astra_set_removal_widget_design_options_flag() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['remove-widget-design-options'] ) ) { $theme_options['remove-widget-design-options'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Apply zero font size for new users. * * @since 3.6.9 * @return void */ function astra_zero_font_size_comp() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['astra-zero-font-size-case-css'] ) ) { $theme_options['astra-zero-font-size-case-css'] = false; update_option( 'astra-settings', $theme_options ); } } /** Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * @since 3.6.9 * @return void */ function astra_unset_builder_elements_underline() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['unset-builder-elements-underline'] ) ) { $theme_options['unset-builder-elements-underline'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrating Builder > Account > transparent resonsive menu color options to single color options. * Because we do not show menu on resonsive devices, whereas we trigger login link on responsive devices instead of showing menu. * * @since 3.6.9 * * @return void */ function astra_remove_responsive_account_menu_colors_support() { $theme_options = get_option( 'astra-settings', array() ); $account_menu_colors = array( 'transparent-account-menu-color', // Menu color. 'transparent-account-menu-bg-obj', // Menu background color. 'transparent-account-menu-h-color', // Menu hover color. 'transparent-account-menu-h-bg-color', // Menu background hover color. 'transparent-account-menu-a-color', // Menu active color. 'transparent-account-menu-a-bg-color', // Menu background active color. ); foreach ( $account_menu_colors as $color_option ) { if ( ! isset( $theme_options[ $color_option ] ) && isset( $theme_options[ $color_option . '-responsive' ]['desktop'] ) ) { $theme_options[ $color_option ] = $theme_options[ $color_option . '-responsive' ]['desktop']; } } update_option( 'astra-settings', $theme_options ); } /** * Link default color compatibility. * * @since 3.7.0 * @return void */ function astra_global_color_compatibility() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['support-global-color-format'] ) ) { $theme_options['support-global-color-format'] = false; } // Set Footer copyright text color for existing users to #3a3a3a. if ( ! isset( $theme_options['footer-copyright-color'] ) ) { $theme_options['footer-copyright-color'] = '#3a3a3a'; } update_option( 'astra-settings', $theme_options ); } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * @since 3.7.4 * @return void */ function astra_improve_gutenberg_editor_ui() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['improve-gb-editor-ui'] ) ) { $theme_options['improve-gb-editor-ui'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * Starting supporting content-background color for Full Width Contained & Full Width Stretched layouts. * * @since 3.7.8 * @return void */ function astra_fullwidth_layouts_apply_content_background() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['apply-content-background-fullwidth-layouts'] ) ) { $theme_options['apply-content-background-fullwidth-layouts'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Sets the default breadcrumb separator selector value if the current user is an exsisting user * * @since 3.7.8 * @return void */ function astra_set_default_breadcrumb_separator_option() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['breadcrumb-separator-selector'] ) ) { $theme_options['breadcrumb-separator-selector'] = 'unicode'; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * Backward flag purpose - To initiate modern & updated UI of block editor & frontend. * * @since 3.8.0 * @return void */ function astra_apply_modern_block_editor_ui() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['wp-blocks-ui'] ) && ! version_compare( $theme_options['theme-auto-version'], '3.8.0', '==' ) ) { $theme_options['blocks-legacy-setup'] = true; $theme_options['wp-blocks-ui'] = 'legacy'; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * Backward flag purpose - To keep structure defaults updation by filter. * * @since 3.8.3 * @return void */ function astra_update_customizer_layout_defaults() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['customizer-default-layout-update'] ) ) { $theme_options['customizer-default-layout-update'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * Backward flag purpose - To initiate maintain modern, updated v2 experience of block editor & frontend. * * @since 3.8.3 * @return void */ function astra_apply_modern_block_editor_v2_ui() { $theme_options = get_option( 'astra-settings', array() ); $option_updated = false; if ( ! isset( $theme_options['wp-blocks-v2-ui'] ) ) { $theme_options['wp-blocks-v2-ui'] = false; $option_updated = true; } if ( ! isset( $theme_options['wp-blocks-ui'] ) ) { $theme_options['wp-blocks-ui'] = 'custom'; $option_updated = true; } if ( $option_updated ) { update_option( 'astra-settings', $theme_options ); } } /** * Display Cart Total and Title compatibility. * * @since 3.9.0 * @return void */ function astra_display_cart_total_title_compatibility() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['woo-header-cart-label-display'] ) ) { // Set the Display Cart Label toggle values with shortcodes. $cart_total_status = isset( $theme_options['woo-header-cart-total-display'] ) ? $theme_options['woo-header-cart-total-display'] : true; $cart_label_status = isset( $theme_options['woo-header-cart-title-display'] ) ? $theme_options['woo-header-cart-title-display'] : true; if ( $cart_total_status && $cart_label_status ) { $theme_options['woo-header-cart-label-display'] = __( 'Cart', 'astra' ) . '/{cart_total_currency_symbol}'; } elseif ( $cart_total_status ) { $theme_options['woo-header-cart-label-display'] = '{cart_total_currency_symbol}'; } elseif ( $cart_label_status ) { $theme_options['woo-header-cart-label-display'] = __( 'Cart', 'astra' ); } update_option( 'astra-settings', $theme_options ); } } /** * If old user then it keeps then default cart icon. * * @since 3.9.0 * @return void */ function astra_update_woocommerce_cart_icons() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['astra-woocommerce-cart-icons-flag'] ) ) { $theme_options['astra-woocommerce-cart-icons-flag'] = false; } } /** * Set brder color to blank for old users for new users 'default' will take over. * * @since 3.9.0 * @return void */ function astra_legacy_customizer_maintenance() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['border-color'] ) ) { $theme_options['border-color'] = '#dddddd'; update_option( 'astra-settings', $theme_options ); } } /** * Enable single product breadcrumb to maintain backward compatibility for existing users. * * @since 3.9.0 * @return void */ function astra_update_single_product_breadcrumb() { $theme_options = get_option( 'astra-settings', array() ); if ( isset( $theme_options['single-product-breadcrumb-disable'] ) ) { $theme_options['single-product-breadcrumb-disable'] = ( true === $theme_options['single-product-breadcrumb-disable'] ) ? false : true; } else { $theme_options['single-product-breadcrumb-disable'] = true; } update_option( 'astra-settings', $theme_options ); } /** * Restrict direct changes on users end so make it filterable. * * @since 3.9.0 * @return void */ function astra_apply_modern_ecommerce_setup() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['modern-ecommerce-setup'] ) ) { $theme_options['modern-ecommerce-setup'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrate old user data to new responsive format layout for shop's summary box content alignment. * * @since 3.9.0 * @return void */ function astra_responsive_shop_content_alignment() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['shop-product-align-responsive'] ) && isset( $theme_options['shop-product-align'] ) ) { $theme_options['shop-product-align-responsive'] = array( 'desktop' => $theme_options['shop-product-align'], 'tablet' => $theme_options['shop-product-align'], 'mobile' => $theme_options['shop-product-align'], ); update_option( 'astra-settings', $theme_options ); } } /** * Change default layout to standard for old users. * * @since 3.9.2 * @return void */ function astra_shop_style_design_layout() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['woo-shop-style-flag'] ) ) { $theme_options['woo-shop-style-flag'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Apply css for show password icon on woocommerce account page. * * @since 3.9.2 * @return void */ function astra_apply_woocommerce_show_password_icon_css() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['woo-show-password-icon'] ) ) { $theme_options['woo-show-password-icon'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 3.9.4 * * @since 3.9.4 * @return void */ function astra_theme_background_updater_3_9_4() { $theme_options = get_option( 'astra-settings', array() ); // Check if user is a old global sidebar user. if ( ! isset( $theme_options['astra-old-global-sidebar-default'] ) ) { $theme_options['astra-old-global-sidebar-default'] = false; update_option( 'astra-settings', $theme_options ); } // Slide in cart width responsive control backwards compatibility. if ( isset( $theme_options['woo-desktop-cart-flyout-width'] ) && ! isset( $theme_options['woo-slide-in-cart-width'] ) ) { $theme_options['woo-slide-in-cart-width'] = array( 'desktop' => $theme_options['woo-desktop-cart-flyout-width'], 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); update_option( 'astra-settings', $theme_options ); } // Astra Spectra Gutenberg Compatibility CSS. if ( ! isset( $theme_options['spectra-gutenberg-compat-css'] ) ) { $theme_options['spectra-gutenberg-compat-css'] = false; update_option( 'astra-settings', $theme_options ); } } Online casinos with a minimum deposit of 5 euros - The Six Figure Challenge - IAD - Interior Art Design

IAD – Interior Art Design

Online casinos with a minimum deposit of 5 euros – The Six Figure Challenge

New Online Casinos in the UK

They are available as debit cards and prepaid cards. My suggestions ensure a safe and fun experience for every player. In addition, EU casinos often support multiple languages, currencies, and region specific payment methods, reflecting the diversity of the continent’s player base. Yep, it’s not every day you see such an offer. Sign up to the gambling site and opt into the online casino sign up bonus if required. Players can expect faster loading times, intuitive navigation, responsive interfaces, and high definition graphics whether playing from a laptop, smartphone or tablet. The platform is modern, fast, and ideal for players seeking reliability and excitement. Understanding wagering requirements is the 1 way to spot a good bonus versus a bad trap. This online casino also offers several ongoing Amazon Slots promotions to enjoy. New players at CoinCasino can take advantage of a substantial 200% Welcome Bonus up to $30,000, accompanied by 50 Super Spins on the popular slot “Wanted Dead or a Wild. Furthermore, the latest slot sites are often some of the highest payout online casinos. When we read through the terms and conditions for the bonus offer we noticed that the max bonus conversion equal £100, meaning you can not win more than £100 from the bonus funds. Com support was fantastic.

Beware The Online casinos with a minimum deposit of 5 euros Scam

Best Bitcoin Casino: Top 10 Crypto Gambling Sites Ranked by Experts

With that said, play through rules are often lower for free spin deals because they don’t represent as much of a risk for the operator. Casumo Casino continues to provide fun and exciting games such as Journey of Gods and Grizzly Gold. Rolletto’s sportsbook is extensive, covering popular sports and eSports. Amanda has 18+ years of iGaming experience and continues to learn and stay up to date with new developments. Select prizes of 5, 10, 20 or 50 Free Spins; 10 selections available within 20 days, 24 hours between each selection. These include deposit limits, time reminders, cool off periods, and self exclusion options all essential features for maintaining a healthy relationship with your gambling habits. Instead, we’re seeing. However, unlike other matched deposit offers, the bonus is credited only after you’ve fulfilled the wagering requirements. Vegas is a good alternative, offering 11 wager free spins for all new players on the Pink Elephants 2 slot. Org 18+ New customers only. After this, provide the card number or PayPal details and select your deposit amount. Register with code WHV200, opt in via promo page and within 7 days deposit £10+ and Online casinos with a minimum deposit of 5 euros stake £10+ from main balance on the advertised game to receive 200 Free Spins 10p each. Slots and instant wins give you the best chance of landing massive multipliers. Total spin winnings capped at £200 per claim. Some free spins casino offers will have no wagering requirement, so it’s good to check.

How To Find The Time To Online casinos with a minimum deposit of 5 euros On Google

Online Casino Sites FAQs

For many players, the appeal of fast payouts, privacy, and larger bonuses outweighs the potential downsides. Bonuses can earn points for their size, type, and favourable terms. Best UK Casino Site for Blackjack – William Hill. Established in 1998, the Jackpot City UK brand is well established, providing a safe and exhilarating online casino experience. Responsible bonus usage requires careful planning, strict bankroll management, and honest self assessment of gambling motivations. All our casinos are tested and assessed based on numerous factors; if a casino doesn’t meet our strict rating criteria, it doesn’t make it onto our lists. We bring you a range of exciting online slots with fascinating themes, attractive characters and a variety of bonus features offering you endless fun on the reels. Returning players have other bonus options, too, such as free spins, a VIP bonus, and more. Payment system testing includes deposit and withdrawal methods such as ACH, Visa, Mastercard, PayPal, Venmo, Play+, online banking, and cryptocurrency options where jurisdictionally permitted. Unlike others, Unibet has really focused on baccarat as an individual game and has a ton of variety available. Debit cards like Visa and Mastercard remain the most popular option, offering a quick and straightforward way to deposit and withdraw. Playing online slots in the UK is now better value for money following a significant regulatory update that came into force on 19th January 2026. How easy is it to download the app. Free spins on registration for UK Players can seem attractive, but their actual value is often constrained by factors like wagering requirements, spin limits, and time restrictions, which reduce the likelihood of converting them into substantial withdrawable winnings. Different publications or organisations make their judgements and the winners are crowned. Game Casino, we earned 1 XP, contributing toward the VIP program. Prefer table games to slots. The material presented on this website is strictly for entertainment and educational purposes. Betting Tips and Predictions. For smooth banking and quick support, Red Dog remains a reliable choice. Uk, we make sure every single real money online casinos that we feature are 100% official, safe and legal. Apple Pay casinos, Google Pay, and Samsung Wallet are fast becoming readily available payment methods for casino sites. They can even interact with the dealer and the other players at the table. 06% high RTP slot that was released by Nolimit City in March 2025 as a sequel to the iconic Mental.

2 Wild West Wins

Our reviews cover a range of online casino bonuses. You can easily reach out to our dedicated team via live chat or email and our friendly staff will be happy to address any of your concerns. You’ll get fresh bonuses, improved usability, and modern game libraries on revamped sites. You might desire different things from your chosen UK online casino. Check out bootlegging or counterfeiting in any field, and you’ll see dodgy stuff coming together around fashions, fads, and new releases. You’ll find everything from classic 3 reel setups to high volatility Megaways and jackpot slots. Launch Date: 2005 Online. Playing on a casino app from your iOS device is straightforward, and only takes a couple of minutes to get started. No Parimatch Casino promo code is required to claim this bonus. Another highlight of TenBet Casino is its bonuses and promos for real money casino games. Each spin is worth £0. Leo Vegas may be the number one online casino in the UK, so it’s hardly surprising that their slots offering is of the highest quality. For gaming on the go, Hot Streak Slots Casino remains a top recommendation, offering fee free ‘Pay by Mobile’ deposits, high RTP slots, and a seamless app experience across all devices. Explore more casino bonuses with our top NJ apps selection. 10x bonus wagering req. 🐉 Best baccarat casino: Winomania features a large baccarat library with 55 games to choose from, and unlike sites such as Spin Casino, offers RNG options. Choosing the right crypto casino is essential to ensure a secure and enjoyable gaming experience. Interacting with other people while still playing from the comfort of your own home is a big plus. Full TandCs Apply Here. The platform’s long standing reputation in the U.

Deposit match bonuses

Real money casino bonuses are legitimate on licensed bonus casino platforms. New Casino players only. In such a case, you should find a button to re send the code or proceed with the deposit again. Irreversible TransactionsErrors in wallet addresses or fraudulent activities cannot be reversed. When live casinos were first introduced, the selection of games was very simple. 15 No Deposit Free Spins + 150% up to 1. They might be the factor that you could lose a lot of money in the long run. BetMGM Casino bonus is two part: a $25 no deposit bonus upon registration and a $1,000 deposit match bonus. The era of generic promotions is gradually giving way to a new model of personalised bonuses tailored to individual player behaviour. 100%/£150 + 50 bonus spins. Limited to 5 brands within the network. Gambling can be addictive, always play responsibly and only bet what you can afford to lose. Or maybe do a trip to Las Vegas. Game review week, I tested several promotions, including the welcome offer, no deposit bonus, quests, and the rakeback double or nothing feature. Instead of that, the games allow you to use free virtual credits. 20 Free Spins on Sweet Bonanza with no wagering on free spins. William Hill Mobile Casino App is free on the Apple App Store and Google Play. Live streaming technology works alongside score tracking to provide visual confirmation of results. This page includes no deposit free spins offers available in the UK and internationally, depending on your location. The rewards get more generous as you rise the ranks too.

Pelican Pete

The cashback offers always have percentage and a time frame, for example, 10% of all losses in a calendar week. 5% flat fee on all deposits under £30. Let’s start with the best non Gamstop casino sites available to UK players. NoLimit City is a Swedish casino game developer with offices in Stockholm, Malta and India. Additionally, the best live casinos allow real time communication with dealers through live chat, enhancing the overall gaming experience. By checking the terms and conditions, you can see if you can place the bet in any market you like or if it’s tied to a certain sport or market. Across crypto casinos, few match the mix of quick on ramps, low friction KYC, and predictable payout timing. Our casino testing process is comprehensive and rigorous, ensuring that only the best sites make it onto our list.

Senior Member

The Betfair Casino promo code to claim this offer is CASAFS. Visit Why Trust Us to learn more about our mission and funding model. Modern casino sites feature thoughtful usability improvements like quick search bars, dark mode options, and live dealer games optimised for portrait mode on smartphones. It is very large and even features a sizeable selection of exclusive titles you will not find anywhere else. Max bonus winnings: £1,000. Set time and money limits before you start playing, and never gamble to solve financial problems. Restrictions and TandCs apply. The interface is clean and mobile friendly, and I had no issues navigating or playing across devices. They also use a selection of fun games such as 3 Card Poker and Ultimate Texas Hold’em. The casino reload bonus, also known as a deposit bonus, serves as a token of appreciation from online casinos towards their loyal players. High Roller Bonuses High roller bonuses are similar to welcome bonuses. Regular promotions are a strong point, with “Midweek Showdown” leaderboards and “Cashback Weekends” where you can claim up to 15% of your losses back in real cash, offering a safety net for frequent players.

GAME SCREENSHOTS

Divide your bankroll into session specific amounts and avoid exceeding those limits, regardless of the outcome. You can play a wide range of iconic slots games like Big Bass Bonanza, Aviator, Starburst, Gonzo’s Quest and Book of Dead at Lottoland, which is more of a choice than a lot of online casino sites. When players share their casino experiences, it impacts how we update our ratings, reviews, and listings. 20 spins on 1st deposit and 30 spins on 2nd deposit. Non GamStop casinos bypass these restrictions, so players can gamble more freely. Now, let’s see what’s up with those wager free spins. 2500+ of the newest and best casino games available. If you decide to deposit over £10, set a budget and stick to it. In the iGaming industry that started ways back in the 90s, it’s almost impossible for a new. Each site holds a valid UK Gambling Commission UKGC licence, ensuring legal play, fair RNG testing, and secure payments. Superior versatility, smoother design, more suitable for mobile gambling, better bonus models and so on. For example, if you deposit and lose £50 after claiming a 20% cashback bonus, you’ll receive an extra £10 in your account.

Gonzo’s Quest Slot

If used wisely and for entertainment, these tools can enhance your experience. One of the first things that is checked is whether the casino is licensed by the relevant UK authorities. The platform aggregates data from live dealer games across all major providers, creating a centralized hub for casino. The lower the sales conditions, the better for you – a simple but golden rule. These bonus offers have the best terms for players who want to play more than just slots. Below, we’ve provided an online slot machines guide, setting out the step by step process for how to play online slots, from choosing a game to spinning the reels. If you’re after a no nonsense, fair play casino that actually delivers, MadCasino is one worth trying. For example, Red Dog Casino offers a 24/7 bonus, which you can claim at any time with as much — or as little — as you please. They are completely legal and make transactions officially with different mobile operators. Best UK Online Casino for No Wagering Bonuses. Lottoland caters for everyone’s needs when it comes to online gambling. Eligibility restrictions apply. Licensing: The casino holds a Curacao Gaming Control Board licence. Wilds, Megaways, free spins, Feature Stone, expanding wild, void respin. These payment options have low fees, excellent security and quick processing times, making eWallets a popular choice amongst players. So, should you get extremely fortunate and win a jackpot, you will likely be left to forfeit some of those winnings. All of these can offer different speeds, quality of graphics, bonuses and jackpots so a quick search and some research right here at CasinoWings will help to ensure you are playing only the type of game you want to. Catering to players with deep pockets, the high roller welcome bonus offers are significantly larger than any traditional deposit you’ll find at an online casino. Read our full guide on How We Review Online Casinos. Unibet Casino currently runs the best refer a friend promo. Please play responsibly. Our affiliate partnerships do not influence our evaluations; we remain impartial and honest in our recommendations and reviews so you can play responsibly and well informed. Best Use Case: Use SOL when speed is critical, and you want near instant deposits or withdrawals. Spin winnings credited as bonus funds, capped at £50 and subject to 10x wagering requirement. These rules can also influence the speed of transactions, even at the fastest payout casino sites. Excellent compatibility with Office formats, plus 100,000+ templates and a full suite of tools — all available across desktop and mobile. Also, review user feedback on independent forums and verify if the casino employs secure encryption methods to protect your personal and financial information. The site has thousands of online casino games, a robust rewards program, and a nice welcome bonus that caters to all. First, double check that you’ve opted in if required, met any trigger e. The house edge is around 0.

Mail App

Response speed varies, with chat being the quicker route, but overall, it’s a dependable system. Deposit £10 Stake £10, Get 100 Free spins. Max conversion: 1 time the bonus amount or from free spins: £20. Modern, minimalist, and incredibly fast. Live chat is available to all logged in members. “If there were just a few more regular promotions available, BetVictor could be challenging at the top of this table. Our exclusive promotions often include free spins, special promo codes and other unique rewards, giving you extra value and access to unique offers. Complete the Prism Casino sign up and use one of the Prism Casino bonus codes to unlock a no deposit promotion and earn free spins at Prism Casino. For instance, if the playthrough of a particular bonus is set at 30x and the bonus amount is £150, you are required to wager the bonus value 30 times before you can withdraw it. We’re all about transparency at TopRatedCasinos, which is why you now have the option to leave your own review on every casino featured on our website, detailing your personal experiences at each operator, good or bad. For players and casinos alike, “casino scores crazy time” refers to the biggest wins, standout moments, and memorable highlights that make this game a global favorite. Players at this level gain access to a wider variety of games, larger bonus packages, and exclusive promotions. If the rules feel unnecessarily complicated or vague, you’re better off skipping the promotion, and possibly the site, altogether. Some platforms may look legitimate at first but show warning signs over time, we came across quite a few of those sites while testing out the platforms. Free spins must be used within 72 hours. “Over the past year, our partnership with CasinoReviews. Ladbrokes is our top casino for roulette with its well organised site, mobile app, and strong table game selection across 500+ titles. Take breaks and ensure gambling doesn’t cut into time with family or friends. Debit card deposits only. IOS and Android devices. Our review confirms whether the casino adheres to the strict player protection rules set by the UK Gambling Commission. TandCs: New Players Only. Then just deposit and play your favourite live casino games. You should play at new online casinos to access the newest slots, bonuses, features, and modern usability.

All Slots Casino Bonus for Canadian Players – Is the 200x Wagering Worth It?

Slots are the literal backbone of any online casino site, and you can be certain that the vast majority of the games you find at a casino site are going to be online slots. 10x bonus wagering applies as do weighting requirements. While often overlooked, these documents hold significant weight and understanding them is key to navigating your rights and responsibilities as a player. Org New Players Only. A high roller online casino offers a different experience from a standard site. Doubly Bubbly: pick 6 squares on the board and uncover free cash or free spins. Bonuses and promotions are another thing to consider. Com one of the least rewarding casino sites for its existing players. No KYC for base users. For instance, a £10 no playthrough bonus means you keep every penny you win. Though their game selection isn’t as big as Evolution or Pragmatic Play, you’ll have a good time exploring their live dealer options. From your first wager, Ignition Rewards Miles stack for tourneys, spins, or bonus credits, plus weekly freerolls and juicy reloads. The site is easy to use, so players should not have to use the customer support methods for this reason, although the selection is limited. 7bet is one of the best new casino sites uk with good looks and superb usability. Finally, customer support is becoming a signature differentiator. Com and its new owners. At the very least, you get to check out the game’s vibe and see if it’s your style. New players only, £10 min fund, deposit matchup % credited via bonus wheel, £2,000 max bonus, 65x wagering requirements, max bonus conversion to real funds equal to lifetime deposits up to £250 – TandC Apply. We understand that the process of signing up with one of our recommended UK casino sites can feel somewhat excessive, compared with other transactions that do not require any proof of your identity.