functions.php 4.87 KB
<?php
/**
 * Understrap Child Theme functions and definitions
 *
 * @package UnderstrapChild
 */

// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;

@ini_set( 'upload_max_size' , '256M' );
@ini_set( 'post_max_size', '256M');
@ini_set( 'max_execution_time', '300' );


require_once __DIR__.'/vendor/autoload.php';
require_once __DIR__.'/inc/inc.php';

/**
 * Removes the parent themes stylesheet and scripts from inc/enqueue.php
 */
function understrap_remove_scripts() {
	wp_dequeue_style( 'understrap-styles' );
	wp_deregister_style( 'understrap-styles' );

	wp_dequeue_script( 'understrap-scripts' );
	wp_deregister_script( 'understrap-scripts' );
}
add_action( 'wp_enqueue_scripts', 'understrap_remove_scripts', 20 );



/**
 * Enqueue our stylesheet and javascript file
 */
function theme_enqueue_styles() {

	// Get the theme data.
	$the_theme = wp_get_theme();

	$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
	// Grab asset urls.
	$theme_styles  = "/css/child-theme{$suffix}.css";
	$theme_scripts = "/js/child-theme{$suffix}.js";

	wp_enqueue_style( 'child-understrap-styles', get_stylesheet_directory_uri() . $theme_styles, array(), $the_theme->get( 'Version' ) );
	wp_enqueue_script( 'jquery' );
	wp_enqueue_script( 'child-understrap-scripts', get_stylesheet_directory_uri() . $theme_scripts, array(), $the_theme->get( 'Version' ), true );
	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
		wp_enqueue_script( 'comment-reply' );
	}
	wp_enqueue_script( 'msf-globe-main', get_stylesheet_directory_uri() . '/blocks/react-app/build/static/js/main.a7bb4a96.chunk.js?v=1.222', array(), false, true );
    wp_enqueue_script( 'msf-globe-runtime', get_stylesheet_directory_uri() . '/blocks/react-app/build/static/js/2.c3c99db9.chunk.js?v=2.222', array(), false, true );
    wp_enqueue_script( 'msf-globe-chunk', get_stylesheet_directory_uri() . '/blocks/react-app/build/static/js/runtime-main.a933fda7.js?v=2.22', array(), false, true );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );



/**
 * Load the child theme's text domain
 */
function add_child_theme_textdomain() {
	load_child_theme_textdomain( 'understrap-child', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'add_child_theme_textdomain' );



/**
 * Overrides the theme_mod to default to Bootstrap 5
 *
 * This function uses the `theme_mod_{$name}` hook and
 * can be duplicated to override other theme settings.
 *
 * @return string
 */
function understrap_default_bootstrap_version() {
	return 'bootstrap5';
}
add_filter( 'theme_mod_understrap_bootstrap_version', 'understrap_default_bootstrap_version', 20 );



/**
 * Loads javascript for showing customizer warning dialog.
 */
function understrap_child_customize_controls_js() {
	wp_enqueue_script(
		'understrap_child_customizer',
		get_stylesheet_directory_uri() . '/js/customizer-controls.js',
		array( 'customize-preview' ),
		'20130508',
		true
	);
}
add_action( 'customize_controls_enqueue_scripts', 'understrap_child_customize_controls_js' );


function megamenu_override_default_theme($value) {
	// change 'primary' to your menu location ID
	if ( !isset($value['primary']['theme']) ) {
	  $value['primary']['theme'] = 'msf'; // change my_custom_theme_key to the ID of your exported theme
	}
   
	return $value;
  }
  add_filter('default_option_megamenu_settings', 'megamenu_override_default_theme');
  
  function fixUlisting() {
	$the_theme = wp_get_theme();
	// wp_deregister_script( 'megamenu' );
    // wp_dequeue_script( 'megamenu' );
    // wp_enqueue_script( 'megamenu', get_stylesheet_directory_uri().'/js/maxmegamenu.js', array(), $the_theme->get( 'Version' ), true );

	wp_deregister_script( 'search-filter-plugin-build' );
    wp_dequeue_script( 'search-filter-plugin-build' );
	
	wp_register_script( 'search-filter-plugin-build', get_stylesheet_directory_uri().'/js/search-filter-build.js', array('jquery'), $the_theme->get( 'Version' ), true );
	
	$js_data = array(
		'ajax_url'   => admin_url( 'admin-ajax.php' ),
		'home_url'   => home_url( '/' ),
		'extensions' => apply_filters( 'search_filter_extensions', array() ),
	);
	wp_localize_script( 'search-filter-plugin-build', 'SF_LDATA', $js_data );
	wp_enqueue_script('search-filter-plugin-build');
}
add_action( 'wp_enqueue_scripts', 'fixUlisting', 100 );


// add_filter( 'get_custom_logo_image_attributes', function(  
// 	$custom_logo_attr, $custom_logo_id, $blog_id  )
// 	{
// 		$custom_logo_attr['class'] = ' no-lazy-load lazyloaded';
// 		$custom_logo_attr['loading'] = 'eager';
// 		$custom_logo_attr['decoding'] = 'async';
// 		return $custom_logo_attr;
// 	} ,10,3);

	



function getName() {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
	$n=10;
    for ($i = 0; $i < $n; $i++) {
        $index = rand(0, strlen($characters) - 1);
        $randomString .= $characters[$index];
    }
 
    return $randomString;
}