HEX
Server: Apache
System: Linux eisbus 6.8.12-9-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-9 (2025-03-16T19:18Z) x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/PluginBackup/burger-companion/inc/astrocare/features/astrocare-funfact.php
<?php
function astrocare_funfact_setting( $wp_customize ) {
	$selective_refresh = isset( $wp_customize->selective_refresh ) ? 'postMessage' : 'refresh';
	/*=========================================
	Funfact Section
	=========================================*/
	$wp_customize->add_section(
		'funfact_setting', array(
			'title'   => esc_html__( 'Funfact Section', 'astrocare' ),
			'priority'=> 6,
			'panel'   => 'astrocare_frontpage_sections',
		)
	);

	// funfact Settings Section // 
	$wp_customize->add_setting(
		'funfact_setting_head'
		,array(
			'capability'     	=> 'edit_theme_options',
			'sanitize_callback' => 'astrocare_sanitize_text',
			'priority' => 2
		)
	);

	$wp_customize->add_control(
		'funfact_setting_head',
		array(
			'type' => 'hidden',
			'label' => __('Settings','astrocare'),
			'section' => 'funfact_setting'
		)
	);

	// hide/show
	$wp_customize->add_setting( 
		'hs_funfact', 
		array(
			'default'   => '1',
			'capability' => 'edit_theme_options',
			'sanitize_callback' => 'astrocare_sanitize_checkbox',
			'priority' => 2
		) 
	);
	
	$wp_customize->add_control(
		'hs_funfact', 
		array(
			'label'	      => esc_html__( 'Hide/Show', 'astrocare' ),
			'section'     => 'funfact_setting',
			'type'        => 'checkbox'
		) 
	);

	// Funfact content Section // 
	$wp_customize->add_setting(
		'funfact_content_head'
		,array(
			'capability'     	=> 'edit_theme_options',
			'sanitize_callback' => 'astrocare_sanitize_text',
			'priority' => 3
		)
	);

	$wp_customize->add_control(
		'funfact_content_head',
		array(
			'type' => 'hidden',
			'label' => __('Content','astrocare'),
			'section' => 'funfact_setting'
		)
	);

	/**
	 * Customizer Repeater for add Funfact
	 */
	$wp_customize->add_setting( 'funfact_contents', 
		array(
			'sanitize_callback' => 'burger_companion_repeater_sanitize',
			'priority' => 1,
			'default' => astrocare_get_funfact_default()
		)
	);

	$wp_customize->add_control( 
		new Burger_Companion_Repeater( $wp_customize, 
			'funfact_contents', 
			array(
				'label'   => esc_html__('Funfact','astrocare'),
				'section' => 'funfact_setting',
				'add_field_label'                     => esc_html__( 'Add New Funfact', 'astrocare' ),
				'item_name'                           => esc_html__( 'Funfact', 'astrocare' ),
				'customizer_repeater_title_control'   => true,
				'customizer_repeater_subtitle_control'=> true,
			) 
		) 
	);

	//Pro feature
	class Astrocare_funfact_section_upgrade extends WP_Customize_Control {
		public function render_content() { 
		$theme = wp_get_theme(); // gets the current theme
		if ( 'Numerology' == $theme->name){
			?>	
			<a class="customizer_Astrocare_funfact_upgrade_section up-to-pro" href="<?php esc_url('https://burgerthemes.com/numerology-pro/');?>" target="_blank" style="display: none;"><?php _e('More Funfact Available in Numerology Pro','numerology'); ?></a>

		<?php }else{ ?>		
			<a class="customizer_Astrocare_funfact_upgrade_section up-to-pro" href="<?php esc_url('https://burgerthemes.com/astrocare-pro/');?>" target="_blank" style="display: none;"><?php _e('More Funfact Available in Astrocare Pro','astrocare'); ?></a>
			
			<?php
		}}
	}

	$wp_customize->add_setting( 'astrocare_funfact_upgrade_to_pro', array(
		'capability'	    => 'edit_theme_options',
		'sanitize_callback'	=> 'wp_filter_nohtml_kses',
	));
	$wp_customize->add_control(
		new Astrocare_funfact_section_upgrade(
			$wp_customize,
			'astrocare_funfact_upgrade_to_pro',
			array(
				'section'	=> 'funfact_setting'
			)
		)
	);

	 // Funfact content Section // 
	$wp_customize->add_setting(
		'funfact_bg_head'
		,array(
			'capability'     	=> 'edit_theme_options',
			'sanitize_callback' => 'astrocare_sanitize_text',
			'priority' => 2,
		)
	);

	$wp_customize->add_control(
		'funfact_bg_head',
		array(
			'type' => 'hidden',
			'label' => __('Background','astrocare'),
			'section' => 'funfact_setting',
		)
	);

	$wp_customize->add_setting( 
		'funfact_bg_setting' , 
		array(
			'default'	=> BURGER_COMPANION_PLUGIN_URL . 'inc/astrocare/images/bg/bg-funfact.png',
			'capability'     	=> 'edit_theme_options',
			'sanitize_callback' => 'astrocare_sanitize_url',	
			'priority' => 1,
		) 
	);
	
	$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize , 'funfact_bg_setting' ,
		array(
			'label'          => __( 'Background Image', 'astrocare' ),
			'section'        => 'funfact_setting',
		) 
	));

}
add_action( 'customize_register', 'astrocare_funfact_setting' );

// funfact selective refresh
function astrocare_funfact_partials( $wp_customize ){
	
	// funfact_bg_setting
	$wp_customize->selective_refresh->add_partial( 'funfact_bg_setting', array(
		'selector'            => '.funfact-section .funfact-overlay',
		'settings'            => 'funfact_bg_setting',
		'render_callback'     => 'astrocare_funfact_image_render_callback',
	) );
}
add_action( 'customize_register', 'astrocare_funfact_partials' );

// funfact_bg_setting
function astrocare_funfact_image_render_callback() {
	return get_theme_mod( 'funfact_bg_setting' );
}