??????????????
??????????????
??????????????
??????????????
Warning : Undefined variable $auth in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
Warning : Trying to access array offset on value of type null in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
??????????????
??????????????
??????????????
??????????????
File Manager
✏️ Edit File: /home/mklsvubc/renovaid.co.uk/wp-content/themes/astra/inc/class-astra-global-palette.php
⬅ Kembali
<?php
/**
* Astra Global color palette
*
* @package Astra
* @subpackage Class
* @link https://wpastra.com/
* @since 3.7.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Global palette class
*/
class Astra_Global_Palette {
/**
* Indicates if the current palette is dark.
*
* @var bool $is_dark_palette
*/
private static $is_dark_palette;
/**
* Constructor
*
* @since 3.7.0
*/
public function __construct() {
/**
* Support for overriding theme.json from the child theme
*
* If theme.json is not present in the child theme load Global Color Palette in the editor using add_theme_support( 'editor-color-palette', $editor_palette );.
* This is a known issue in Gutenberg - If theme.json is not present in the child theme, it does fallback to the parent theme's theme.json file.
* This will be fixed in the future updates of WordPress/Gutenberg.
*
* @see https://github.com/WordPress/gutenberg/pull/34354
*/
$get_stylesheet = get_stylesheet_directory();
$is_theme_json = $get_stylesheet . '/theme.json';
if ( ( get_template_directory() !== $get_stylesheet && false === file_exists( $is_theme_json ) ) || astra_wp_version_compare( '5.8', '<' ) ) {
add_action( 'after_setup_theme', array( $this, 'support_editor_color_palette' ) );
}
add_filter( 'astra_theme_customizer_js_localize', array( $this, 'localize_variables' ) );
add_filter( 'astra_before_foreground_color_generation', array( $this, 'get_color_by_palette_variable' ) );
$this->includes();
add_filter( 'astra_dynamic_theme_css', array( $this, 'global_border_compatibility' ) );
}
/**
* Modify color palette from Gutenberg.
*
* @since 3.7.0
* @return void
*/
public function support_editor_color_palette() {
$global_palette = astra_get_option( 'global-color-palette' );
$editor_palette = $this->format_global_palette( $global_palette );
add_theme_support( 'editor-color-palette', $editor_palette );
}
/**
* Format color palette data required to pass for Gutenberg palette.
*
* @since 3.7.0
* @param array $global_palette global palette data.
* @return array
*/
public function format_global_palette( $global_palette ) {
$editor_palette = array();
$labels = self::get_palette_labels();
if ( isset( $global_palette['palette'] ) ) {
foreach ( $global_palette['palette'] as $key => $color ) {
$label = 'Theme ' . $labels[ $key ];
$editor_palette[] = array(
'name' => $label,
'slug' => str_replace( '--', '', self::get_css_variable_prefix() ) . $key,
'color' => 'var(' . self::get_css_variable_prefix() . $key . ')',
);
}
}
return $editor_palette;
}
/**
* Get CSS variable prefix used for styling.
*
* @since 3.7.0
* @return string variable prefix
*/
public static function get_css_variable_prefix() {
return '--ast-global-color-';
}
/**
* Localize variables used in the customizer.
*
* @since 3.7.0
* @param array $object localize object.
* @return array<array-key, mixed> $object localize object.
*/
public function localize_variables( $object ) {
if ( isset( $object['customizer'] ) ) {
$object['customizer']['globalPaletteStylePrefix'] = self::get_css_variable_prefix();
$object['customizer']['isElementorActive'] = astra_is_elemetor_active();
$object['customizer']['isGlobalColorElementorDisabled'] = astra_maybe_disable_global_color_in_elementor();
$object['customizer']['globalPaletteSlugs'] = self::get_palette_slugs();
$object['customizer']['globalPaletteLabels'] = self::get_palette_labels();
}
return $object;
}
/**
* Default global palette options.
*
* @since 3.7.0
* @return array Palette options.
*/
public static function get_default_color_palette() {
$update_colors_for_starter_library = Astra_Dynamic_CSS::astra_4_4_0_compatibility();
$update_color_styles_with_presets = Astra_Dynamic_CSS::astra_4_5_0_compatibility();
$update_color_for_forms_ui = Astra_Dynamic_CSS::astra_4_6_0_compatibility();
$color_palette_reorganize = Astra_Dynamic_CSS::astra_4_8_9_compatibility();
return array(
'currentPalette' => 'palette_1',
'palettes' => $update_color_styles_with_presets ? array(
'palette_1' => array(
'#046bd2',
'#045cb4',
'#1e293b',
'#334155',
$color_palette_reorganize ? '#FFFFFF' : '#F0F5FA',
$color_palette_reorganize ? '#F0F5FA' : '#FFFFFF',
$color_palette_reorganize ? '#111111' : ( $update_color_for_forms_ui ? '#D1D5DB' : '#ADB6BE' ),
$color_palette_reorganize ? ( $update_color_for_forms_ui ? '#D1D5DB' : '#ADB6BE' ) : '#111111',
'#111111',
),
'palette_2' => array(
'#0067FF',
'#005EE9',
'#0F172A',
'#364151',
$color_palette_reorganize ? '#FFFFFF' : '#E7F6FF',
$color_palette_reorganize ? '#E7F6FF' : '#FFFFFF',
$color_palette_reorganize ? '#070614' : '#D1DAE5',
$color_palette_reorganize ? '#D1DAE5' : '#070614',
'#222222',
),
'palette_3' => array(
'#6528F7',
'#5511F8',
'#0F172A',
'#454F5E',
$color_palette_reorganize ? '#FFFFFF' : '#F2F0FE',
$color_palette_reorganize ? '#F2F0FE' : '#FFFFFF',
$color_palette_reorganize ? '#0D0614' : '#D8D8F5',
$color_palette_reorganize ? '#D8D8F5' : '#0D0614',
'#222222',
),
'palette_4' => array(
'#0085FF',
'#0177E3',
'#FFFFFF',
'#E7F6FF',
'#212A37',
'#0F172A',
'#4F5B62',
'#070614',
'#222222',
),
) : array(
'palette_1' => array(
'#046bd2',
'#045cb4',
'#1e293b',
'#334155',
$color_palette_reorganize ? '#FFFFFF' : ( $update_colors_for_starter_library ? '#F0F5FA' : '#f9fafb' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#F0F5FA' : '#f9fafb' ) : '#FFFFFF',
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#111111' : '#cbd5e1' ) : ( $update_colors_for_starter_library ? '#ADB6BE' : '#e2e8f0' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#ADB6BE' : '#e2e8f0' ) : ( $update_colors_for_starter_library ? '#111111' : '#cbd5e1' ),
$update_colors_for_starter_library ? '#111111' : '#94a3b8',
),
'palette_2' => array(
'#0170B9',
$update_colors_for_starter_library ? '#045cb4' : '#3a3a3a',
'#3a3a3a',
'#4B4F58',
$color_palette_reorganize ? '#FFFFFF' : ( $update_colors_for_starter_library ? '#F0F5FA' : '#F5F5F5' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#F0F5FA' : '#F5F5F5' ) : '#FFFFFF',
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#111111' : '#424242' ) : ( $update_colors_for_starter_library ? '#ADB6BE' : '#F2F5F7' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#ADB6BE' : '#F2F5F7' ) : ( $update_colors_for_starter_library ? '#111111' : '#424242' ),
$update_colors_for_starter_library ? '#111111' : '#000000',
),
'palette_3' => array(
'#0170B9',
$update_colors_for_starter_library ? '#045cb4' : '#3a3a3a',
'#3a3a3a',
'#4B4F58',
$color_palette_reorganize ? '#FFFFFF' : ( $update_colors_for_starter_library ? '#F0F5FA' : '#F5F5F5' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#F0F5FA' : '#F5F5F5' ) : '#FFFFFF',
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#111111' : '#424242' ) : ( $update_colors_for_starter_library ? '#ADB6BE' : '#F2F5F7' ),
$color_palette_reorganize ? ( $update_colors_for_starter_library ? '#ADB6BE' : '#F2F5F7' ) : ( $update_colors_for_starter_library ? '#111111' : '#424242' ),
$update_colors_for_starter_library ? '#111111' : '#000000',
),
'palette_4' => array(
'#0085FF',
'#0177E3',
'#FFFFFF',
'#E7F6FF',
'#212A37',
'#0F172A',
'#4F5B62',
'#070614',
'#222222',
),
),
'presets' => astra_get_palette_presets(),
);
}
/**
* Get the key of the selected global color palette.
*
* @return string|null Palette key if found, otherwise null.
*/
public static function astra_get_active_global_palette() {
$palettes_data = astra_get_palette_colors();
$current_palette = isset( $palettes_data['currentPalette'] ) ? $palettes_data['currentPalette'] : 'palette_1';
/**
* Filters the active global palette key.
*
* @param string $current_palette The active global palette key.
*
* @return string The filtered active global palette key.
* @since 4.10.0
*/
return apply_filters( 'astra_get_active_global_palette_key', $current_palette );
}
/**
* Determines if the specified or active global palette is considered dark.
*
* @param string $palette_key The key of the palette to check. Defaults to 'current' to check the active global palette.
*
* @since 4.10.0
* @return bool True if the specified or active global palette is dark, otherwise false.
*/
public static function is_dark_palette( $palette_key = 'current' ) {
if ( $palette_key === 'current' ) {
if ( ! self::$is_dark_palette ) {
// Determine if the active global palette is 'palette_4', which is considered dark.
self::$is_dark_palette = self::astra_get_active_global_palette() === 'palette_4';
}
// Return the cached result for the active global palette.
return self::$is_dark_palette;
}
// For a specific palette key, directly check if it's 'palette_4'.
return $palette_key === 'palette_4';
}
/**
* Get labels for palette colors.
*
* @since 3.7.0
* @return array Palette labels.
*/
public static function get_palette_labels() {
$astra_settings = Astra_Theme_Options::get_options();
$color_palette_reorganize = Astra_Dynamic_CSS::astra_4_8_9_compatibility();
$new_color_palette_labels = apply_filters( 'astra_new_color_labels', $color_palette_reorganize || isset( $astra_settings['new-color-labels'] ) );
$color_1_label = __( 'Brand', 'astra' );
$color_2_label = __( 'Alternate Brand', 'astra' );
$color_3_label = __( 'Headings', 'astra' );
$color_4_label = __( 'Text', 'astra' );
$color_5_label = $color_palette_reorganize ? __( 'Primary Background', 'astra' ) : __( 'Secondary Background', 'astra' );
$color_6_label = $color_palette_reorganize ? __( 'Secondary Background', 'astra' ) : __( 'Primary Background', 'astra' );
$color_7_label = $color_palette_reorganize ? __( 'Alternate Background', 'astra' ) : __( 'Subtle Background', 'astra' );
$color_8_label = $color_palette_reorganize ? __( 'Subtle Background', 'astra' ) : __( 'Alternate Background', 'astra' );
$color_9_label = __( 'Other Supporting', 'astra' );
return array(
$new_color_palette_labels ? $color_1_label : __( 'Color 1', 'astra' ),
$new_color_palette_labels ? $color_2_label : __( 'Color 2', 'astra' ),
$new_color_palette_labels ? $color_3_label : __( 'Color 3', 'astra' ),
$new_color_palette_labels ? $color_4_label : __( 'Color 4', 'astra' ),
$new_color_palette_labels ? $color_5_label : __( 'Color 5', 'astra' ),
$new_color_palette_labels ? $color_6_label : __( 'Color 6', 'astra' ),
$new_color_palette_labels ? $color_7_label : __( 'Color 7', 'astra' ),
$new_color_palette_labels ? $color_8_label : __( 'Color 8', 'astra' ),
$new_color_palette_labels ? $color_9_label : __( 'Color 9', 'astra' ),
);
}
/**
* Get slugs for palette colors.
*
* @since 3.7.0
* @return array Palette slugs.
*/
public static function get_palette_slugs() {
return array(
'ast-global-color-0',
'ast-global-color-1',
'ast-global-color-2',
'ast-global-color-3',
'ast-global-color-4',
'ast-global-color-5',
'ast-global-color-6',
'ast-global-color-7',
'ast-global-color-8',
);
}
/**
* Include required files.
*
* @since 3.7.0
*/
public function includes() {
require_once ASTRA_THEME_DIR . 'inc/dynamic-css/global-color-palette.php';// PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
}
/**
* Generate palette CSS required to display on front end.
*
* @since 3.7.0
* @return array palette style array.
*/
public static function generate_global_palette_style() {
$palette_data = astra_get_option( 'global-color-palette' );
$palette_style = array();
if ( isset( $palette_data['palette'] ) ) {
foreach ( $palette_data['palette'] as $key => $color ) {
$palette_key = self::get_css_variable_prefix() . $key;
$palette_style[ $palette_key ] = $color;
}
}
return $palette_style;
}
/**
* Pass hex value for global palette to process forground color.
*
* @since 3.7.0
* @param string $color hex color / css variable.
* @return string
*/
public function get_color_by_palette_variable( $color ) {
// Check if color is CSS variable.
if ( 0 === strpos( $color, 'var(--' ) ) {
$global_palette = astra_get_option( 'global-color-palette' );
foreach ( $global_palette['palette'] as $palette_index => $value ) {
if ( 'var(' . self::get_css_variable_prefix() . $palette_index . ')' === $color ) {
return $value;
}
}
}
return $color;
}
/**
* Add dynamic CSS for the global border color.
*
* @since 3.9.0
*
* @param string $dynamic_css Astra Dynamic CSS.
*
* @return String Generated dynamic CSS for global border.
*/
public function global_border_compatibility( $dynamic_css ) {
$global_border_color = astra_get_option( 'border-color', '#dddddd' );
$global_border = '
:root {
--ast-border-color : ' . $global_border_color . ';
}
';
return $dynamic_css . Astra_Enqueue_Scripts::trim_css( $global_border );
}
}
new Astra_Global_Palette();
Nama
Tipe
Ukuran
Diubah
Aksi
📁 abilities
dir
—
2026-06-03 10:06
📁 addons
dir
—
2026-06-03 10:06
📁 assets
dir
—
2026-06-03 10:06
📁 blog
dir
—
2026-06-03 10:06
📁 builder
dir
—
2026-06-03 10:06
📁 compatibility
dir
—
2026-06-03 10:06
📁 core
dir
—
2026-06-03 10:06
📁 customizer
dir
—
2026-06-03 10:06
📁 dynamic-css
dir
—
2026-06-03 10:06
📁 integrations
dir
—
2026-06-03 10:06
📁 lib
dir
—
2026-06-03 10:06
📁 metabox
dir
—
2026-06-03 10:06
📁 modules
dir
—
2026-06-03 10:06
📁 schema
dir
—
2026-06-03 10:06
📁 theme-update
dir
—
2026-06-03 10:06
🐘 admin-functions.php
php
1.6 KB
2025-02-11 15:39
🐘 class-astra-after-setup-theme.php
php
11.3 KB
2025-12-16 13:01
🐘 class-astra-dynamic-css.php
php
299.9 KB
2026-06-02 14:57
🐘 class-astra-extended-base-dynamic-css.php
php
6.4 KB
2025-02-11 15:39
🐘 class-astra-global-palette.php
php
13.4 KB
2025-09-09 13:41
🐘 class-astra-loop.php
php
7.2 KB
2025-02-11 15:39
🐘 class-astra-memory-limit-notice.php
php
12.4 KB
2026-04-16 15:17
🐘 class-astra-mobile-header.php
php
5.8 KB
2025-12-08 14:18
🐘 extras.php
php
44.6 KB
2026-02-05 15:31
🐘 google-fonts.php
php
200.2 KB
2026-05-20 14:19
🐘 index.php
php
111 B
2024-11-11 15:51
🐘 markup-extras.php
php
72.4 KB
2026-05-12 13:03
🐘 template-parts.php
php
9.5 KB
2025-04-24 09:51
🐘 template-tags.php
php
1.1 KB
2025-02-11 15:39
🐘 w-org-version.php
php
647 B
2025-07-01 14:56
🐘 widgets.php
php
4.3 KB
2025-04-08 10:18