HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/kofejob-wp/wp-content/themes/kofejob/functions.php
<?php if ( ! function_exists( 'kofejob_theme_setup' ) ) :

add_action('after_setup_theme', 'kofejob_theme_setup');
function kofejob_theme_setup() {

    load_theme_textdomain( 'kofejob', get_template_directory() . '/languages' );

 	/* Theme Utilities */
	require trailingslashit(get_template_directory()) . 'inc/utilities.php';
	require trailingslashit(get_template_directory()) . 'inc/theme-settings.php';
	require trailingslashit(get_template_directory()) . "inc/classes/index.php";
    require trailingslashit(get_template_directory()) . "inc/nav.php";
	require trailingslashit(get_template_directory()) . 'tgm/tgm-init.php';
    require trailingslashit(get_template_directory()) . "inc/shop-func.php";

	
	add_theme_support('woocommerce');
    add_theme_support( 'automatic-feed-links' );
 	add_theme_support( 'title-tag' );
    add_theme_support( 'post-thumbnails' );
  	

	include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
	if(in_array('redux-framework/redux-framework.php', apply_filters('active_plugins', get_option('active_plugins'))))
	{
		require_once( dirname(__FILE__).'/inc/options-init.php' );
	}
    
	add_image_size('kofejob_blog_grid_img', 420, 250, true);
    add_image_size('post-thumbnail', 150, 150, true);
	
}
endif; 

add_action('wp_enqueue_scripts', 'kofejob_scripts', 11);
 
function kofejob_scripts() {
    $ver_num = 1.0;
	$is_rtl = false;
	if(is_rtl())
	{
		$is_rtl = true;
	}
	global $kofejob_theme_options;
    
	function kofejob_fonts_url() {
        $fonts_url = '';
        $poppins = _x('on', 'Poppins font: on or off', 'kofejob');
        if ('off' !== $poppins) {
            $font_families = array();
            if ('off' !== $poppins) {
                $font_families[] = 'Poppins:400,500,600';
            }
            $query_args = array(
                'family' => urlencode(implode('%7C', $font_families)),
                'subset' => urlencode('latin,latin-ext'),
            );
            $fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css');
        }
        return urldecode($fonts_url);
    }
	wp_enqueue_style('kofejob-theme-fonts', kofejob_fonts_url(), array(), null);
	
	if ( is_singular() )
	{
		wp_enqueue_script('nicescroll', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.nicescroll.min.js', array('jquery'), false, true);
		wp_enqueue_script('jquery-imageview', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.imageview.js', array('jquery'), false, true);
		
	}
	if ( is_singular( 'freelancer' )  || is_singular( 'projects' )|| is_singular( 'employer' ) || !is_front_page() && is_home() )
	{
		wp_enqueue_style( 'fancybox', trailingslashit(get_template_directory_uri()).'css/jquery.fancybox.min.css' );
		wp_enqueue_script('jquery-fancybox', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.fancybox.min.js', false, false, true);
	}
	wp_enqueue_script("isotope",trailingslashit(get_template_directory_uri())."/assets/js/isotope.js", false, false, true);
	wp_enqueue_script("masonry");
    wp_enqueue_style( 'owl-carouselstyle', trailingslashit(get_template_directory_uri()).'/assets/css/owl.carousel.min.css' );
    wp_enqueue_script('owl-carouselscript', trailingslashit(get_template_directory_uri()) . '/assets/js/owl.carousel.min.js', false, false, false);

    wp_enqueue_script('bootstrap-bundle', trailingslashit(get_template_directory_uri()) . '/assets/js/bootstrap.bundle.min.js', false, false, true);
 
 	
	if ( is_page_template( 'page-login.php' ) || is_page_template( 'page-register.php' ) )
	{
		wp_enqueue_script('passtrengthscript', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.passtrength.min.js', false, false, true);
		wp_enqueue_style('passtrengthstyle', trailingslashit(get_template_directory_uri()) . '/assets/css/passtrength.css');
	}
	wp_enqueue_script('smokescript', trailingslashit(get_template_directory_uri()) . '/assets/js/smoke.min.js', false, false, true);
	wp_enqueue_script('toastrscript', trailingslashit(get_template_directory_uri()) . '/assets/js/toastr.min.js', false, false, true);
	wp_enqueue_script('kofejobfull', trailingslashit(get_template_directory_uri()) . '/assets/js/select2.full.min.js', false, false, true);
	wp_enqueue_script( 'jquery-ui-sortable' );

    wp_register_script( 'dropzone', get_template_directory_uri() . '/assets/js/dropzone.js', array( 'jquery' ), $ver_num );
    wp_enqueue_script( 'dropzone' );
    
	wp_enqueue_script('jquery-richtext', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.richtext.min.js', false, false, true);
	wp_enqueue_script('jqueryflexslider', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.flexslider.js', false, false, true);
	
	wp_enqueue_script('kofejob-rating', trailingslashit(get_template_directory_uri()) . '/assets/js/rating.js', false, false, true);
	wp_enqueue_script('protip', trailingslashit(get_template_directory_uri()) . '/assets/js/protip.min.js', array('jquery'), false, true);
	wp_enqueue_script('youtube-popup', trailingslashit(get_template_directory_uri()) . '/assets/js/youtube-popup-jquery.js', array('jquery'), false, true);
	wp_enqueue_script('waypoints', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery.waypoints.min.js', array('jquery'), false, true);
	wp_enqueue_script('counter', trailingslashit(get_template_directory_uri()) . '/assets/js/counter.js', array('jquery'), false, true);
	
	
	if (is_singular() && comments_open() && get_option('thread_comments')) {
        wp_enqueue_script('comment-reply');
    }

     
		wp_enqueue_script('jquery-confirm', trailingslashit(get_template_directory_uri()) . '/assets/js/jquery-confirm.js', array('jquery'), false, true);
		wp_enqueue_script( 'jquery-datetimepicker', trailingslashit(get_template_directory_uri()). '/assets/js/jquery.datetimepicker.full.js', array('jquery'), true, true );

    
   
		if(is_rtl()){
            wp_enqueue_style('bootstrap-rtl', trailingslashit(get_template_directory_uri()) . '/assets/css/bootstrap.rtl.min.css');

        }
        wp_enqueue_style('bootstrap', trailingslashit(get_template_directory_uri()) . '/assets/css/bootstrap.min.css');
		
	 
 
	
	wp_enqueue_style('smoke-style', trailingslashit(get_template_directory_uri()) . '/assets/css/smoke.min.css');
	wp_enqueue_style('pretty-checkbox', trailingslashit(get_template_directory_uri()) . '/assets/css/pretty-checkbox.min.css');
	wp_enqueue_style('toastr-style', trailingslashit(get_template_directory_uri()) . '/assets/css/toastr.min.css');
	wp_enqueue_style('select2', trailingslashit(get_template_directory_uri()) . '/assets/css/select2.min.css');
	wp_enqueue_style('richtext', trailingslashit(get_template_directory_uri()) . '/assets/css/richtext.min.css');
	 
		wp_enqueue_style( 'jquery-datetimepicker', trailingslashit(get_template_directory_uri()).'/assets/css/jquery.datetimepicker.min.css' );
	 
	

	wp_enqueue_style( 'owl-carouselstyle', trailingslashit(get_template_directory_uri()).'assets/css/owl.carousel.min.css' );
	wp_enqueue_style( 'owl-theme-default', trailingslashit(get_template_directory_uri()).'assets/css/owl.theme.default.min.css' );
	wp_enqueue_script('owl-script', trailingslashit(get_template_directory_uri()) . 'assets/js/script.js',  array('jquery'), false, true);

	//Theme css
	wp_enqueue_style( 'woocommerce-style', trailingslashit(get_template_directory_uri()).'assets/css/theme-woocommerce.css' );
    if(is_rtl(  )){
        wp_enqueue_style( 'kofejob-main-style-rtl', trailingslashit(get_template_directory_uri()).'assets/css/theme-rtl.css' );

    }
	wp_enqueue_style( 'kofejob-main-style', trailingslashit(get_template_directory_uri()).'assets/css/theme.css' );
    wp_enqueue_style( 'kofejob-animate-style', trailingslashit(get_template_directory_uri()).'assets/css/animate.min.css' );
	wp_enqueue_style( 'responsive-style', trailingslashit(get_template_directory_uri()).'assets/css/responsive.css' );
	wp_enqueue_style( 'all', trailingslashit(get_template_directory_uri()).'assets/css/all.min.css' );
	wp_enqueue_style( 'kofejob-default', trailingslashit(get_template_directory_uri()).'assets/css/default-css.css' );
	wp_enqueue_script('main-theia-sticky-ResizeSensor', trailingslashit(get_template_directory_uri()) . 'assets/plugins/theia-sticky-sidebar/ResizeSensor.js');
	wp_enqueue_script('main-theia-sticky-sidebar', trailingslashit(get_template_directory_uri()) . 'assets/plugins/theia-sticky-sidebar/theia-sticky-sidebar.js');
    if(is_rtl(  )){
        wp_enqueue_script('kofejob-mainscript-rtl', trailingslashit(get_template_directory_uri()) . 'assets/js/script-rtl.js');

    }
	wp_enqueue_script('kofejob-mainscript', trailingslashit(get_template_directory_uri()) . 'assets/js/script.js');
	/*FRONTEND STYLE ENQUEUE*/
	
	 
		wp_enqueue_style('jquery-confirm', trailingslashit(get_template_directory_uri()) . 'assets/css/jquery-confirm.css');
	 
	if ( is_page_template( 'page-login.php' ) || is_page_template( 'page-register.php' ) )
	{
		wp_enqueue_style( 'owl-carousel', trailingslashit(get_template_directory_uri()).'/assets/css/owl.carousel.min.css' );
		wp_enqueue_script('owl-carousel', trailingslashit(get_template_directory_uri()) . '/assets/js/owl.carousel.min.js', false, false, true);
	}
	 
		wp_enqueue_style( 'ion-rangeslider', trailingslashit(get_template_directory_uri()).'/assets/css/ion-rangeslider.min.css' );
		wp_enqueue_script('ion-rangeslider', trailingslashit(get_template_directory_uri()) . '/assets/js/ion.rangeslider.min.js', false, false, true);
	 
    /* Google Recaptcha JS */
    wp_enqueue_script('recaptcha', '//www.google.com/recaptcha/api.js', false, false, true);
	wp_enqueue_script('kofejob-theme', trailingslashit(get_template_directory_uri()) . '/assets/js/custom-script.js',  array('jquery'), false, true);
	wp_enqueue_script('kofejob-charts', trailingslashit(get_template_directory_uri()) . '/assets/js/chart.min.js', false, false, true);
	wp_enqueue_script('kofejob-stats', trailingslashit(get_template_directory_uri()) . '/assets/js/stats.js', false, false, true);
 	
	if(in_array('redux-framework/redux-framework.php', apply_filters('active_plugins', get_option('active_plugins'))))
	{
		global $kofejob_theme_options;
		 $reset = false;
		 $is_reset = false;
		 $user_id = $status_msg = '';
		
		$activation_is_key = false;
		$activation_status = false;
		$activation_status_msg = '';
		 if(is_page_template('page-login.php'))
		 {
			 if(!empty($_GET['key']) && !empty($_GET['login']))
			 {
				  $is_reset = true;
				  $reset = false;
				  $user = check_password_reset_key($_GET['key'], $_GET['login']);
				  $errors = new WP_Error();
				  if ( is_wp_error($user) )
				  {
					$reset = false;
					if ( $user->get_error_code() === 'expired_key')
					{
						$status_msg = esc_html__('Key is expired.', 'kofejob' );
					}  
					else
					{
						$status_msg = esc_html__('Key is not valid.', 'kofejob' );
					}
				  }
				  else
				  {
					$reset = true;
					$user_id = $user->ID;
				  	$status_msg = esc_html__('Choose your password.', 'kofejob' );
				  }
			 }
		 }


		$kofejob_notifications_time = isset($kofejob_theme_options['kofejob_notifications_time']) ? $kofejob_theme_options['kofejob_notifications_time'] : '';
		if($kofejob_notifications_time < 10000 && $kofejob_notifications_time != '')
		{
			$kofejob_notifications_time = 10000;
		}
		$kofejob_locale = substr( get_bloginfo ( 'language' ), 0, 2 );
		wp_localize_script('kofejob-theme', 'localize_vars_frontend', array(
			'freelanceAjaxurl' => admin_url( 'admin-ajax.php' ),
			'AreYouSure' => __('Are you sure?','kofejob'),
			'Msgconfirm' => __('Confirmation','kofejob'),
			'remove' => __('Remove','kofejob'),
			'cancel' => __('Cancel','kofejob'),
			'AccDel' => __('Delete, Anyway','kofejob'),
			'proCancel' => __('Cancel, Anyway','kofejob'),
			'confimYes' => __('Yes','kofejob'),
			'confimNo' => __('No','kofejob'),
			'awardDate' => esc_html__('Award Date', 'kofejob'),
			'awardName' => esc_html__('Award Name', 'kofejob'),
			'selectImage' => esc_html__('Image', 'kofejob'),
			'projectURL' => esc_html__('Project url', 'kofejob'),
			'projectName' => esc_html__('Project Name', 'kofejob'),
			'expeName' => esc_html__('Experience Title', 'kofejob'),
			'expeCompName' => esc_html__('Company Name', 'kofejob'),
			'startDate' => esc_html__('Start Date', 'kofejob'),
			'endDate' => esc_html__('End Date', 'kofejob'),
			'endDatemsg' => esc_html__('Leave it empty to set it current job', 'kofejob'),
			'expeDesc' => esc_html__('Description', 'kofejob'),
			'eduName' => esc_html__('Education Title', 'kofejob'),
			'eduInstName' => esc_html__('Institute Name', 'kofejob'),
			'eduEndDatemsg' => esc_html__('Leave it empty to set it current education', 'kofejob'),
			'proAdminCost' => $kofejob_theme_options['project_charges'],
			'YesSure' => esc_html__('Yes, I am sure', 'kofejob'),
			'serviceBuy' => esc_html__('Are you sure you want to purchase this service?', 'kofejob'),
			'maxAllowedFields' => esc_html__('Allowed number of fields limit reached', 'kofejob'),
			'faqNo' => esc_html__('FAQ No', 'kofejob'),
			'is_reset' => $is_reset,
			'reset_status' => array('status'=>$reset,'r_msg'=>$status_msg,"requested_id"=>$user_id),
			'activation_is_set' => $activation_is_key,
			'activation_is_set_msg' => array('activation_status'=>$activation_status,'status_msg'=>$activation_status_msg),
			'project_search_link' => isset($kofejob_theme_options['project_search_page']) ? get_the_permalink($kofejob_theme_options['project_search_page']) : '',
			'services_search_link' => isset($kofejob_theme_options['services_search_page']) ? get_the_permalink($kofejob_theme_options['services_search_page']) : '',
			'employer_search_link' => isset($kofejob_theme_options['employer_search_page']) ? get_the_permalink($kofejob_theme_options['employer_search_page']) : '',
			'freelancer_search_link' => isset($kofejob_theme_options['freelancer_search_page']) ? get_the_permalink($kofejob_theme_options['freelancer_search_page']) : '',
			'searchTalentText' => esc_html__('Serach Talent', 'kofejob'),
			'searchEmpText' => esc_html__('Search Employer', 'kofejob'),
			'findJobText' => esc_html__('Find Job', 'kofejob'),
			'searchServiceText' => esc_html__('Get job done', 'kofejob'),
			'is_rtl' => $is_rtl,
			'kofejob_local' => $kofejob_locale,
			'kofejob_notification' => isset($kofejob_theme_options['kofejob_notifications']) ? $kofejob_theme_options['kofejob_notifications'] : '',
			'notification_time' => $kofejob_notifications_time,
			'pass_textWeak' => esc_html__('Weak', 'kofejob'),
			'pass_textMedium' => esc_html__('Medium', 'kofejob'),
			'pass_textStrong' => esc_html__('Strong', 'kofejob'),
			'pass_textVeryStrong' => esc_html__('Very Strong', 'kofejob'),
			)
		);
	}
	 
		wp_enqueue_script('kofejob-theme-profile', trailingslashit(get_template_directory_uri()) . '/assets/js/custom-script-profile.js', array('jquery'), false, true);
	 
}
if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))))
{
    function kofejob_add_woo_bootstrap_input_classes( $args, $key, $value = null ) {
        switch ( $args['type'] ) {

            case "select" :  
                $args['class'][] = 'form-group'; 
                $args['input_class'] = array('form-control', 'input-lg'); 
                $args['label_class'] = array('control-label');
                $args['custom_attributes'] = array( 'data-plugin' => 'select2', 'data-allow-clear' => 'true', 'aria-hidden' => 'true',  );
            break;

            case 'country' : 
                $args['class'][] = 'form-group single-country';
                $args['label_class'] = array('control-label');
            break;

            case "state" :
                $args['class'][] = 'form-group';
                $args['input_class'] = array('form-control', 'input-lg');
                $args['label_class'] = array('control-label');
                $args['custom_attributes'] = array( 'data-plugin' => 'select2', 'data-allow-clear' => 'true', 'aria-hidden' => 'true',  );
            break;
            case "password" :
            case "text" :
            case "email" :
            case "tel" :
            case "number" :
                $args['class'][] = 'form-group';
                $args['input_class'] = array('form-control', 'input-lg');
                $args['label_class'] = array('control-label');
            break;
            case 'textarea' :
                $args['input_class'] = array('form-control', 'input-lg');
                $args['label_class'] = array('control-label');
            break;

            case 'checkbox' :
            break;

            case 'radio' :
            break;

            default :
                $args['class'][] = 'form-group';
                $args['input_class'] = array('form-control', 'input-lg');
                $args['label_class'] = array('control-label');
            break;
        }
        return $args;
    }
    add_filter('woocommerce_form_field_args','kofejob_add_woo_bootstrap_input_classes',10,3);
    add_filter( 'woocommerce_single_product_carousel_options', 'kofejob_woo_flexslider_options' );
    function kofejob_woo_flexslider_options( $options ) {
        $options['directionNav'] = true;
        return $options;
    }
}


add_action('delete_user', 'kofejob_delete_user_data');
function kofejob_delete_user_data($user_id) {
    $args = array (
        'numberposts' => -1,
        'post_type' => array('freelancer','employer'),
        'author' => $user_id
    );
	
    $user_posts = get_posts($args);

    if (empty($user_posts)) return;

    // delete all the user posts
    foreach ($user_posts as $user_post) {
        wp_delete_post($user_post->ID, true);
    }
}


/*FOR ELEMENTOR HEADER FOOTER*/
if (in_array('elementor-pro/elementor-pro.php', apply_filters('active_plugins', get_option('active_plugins'))))
{
	add_action( 'elementor/theme/register_locations', 'kofejob_pro_register_elementor_locations' );  
	function kofejob_pro_register_elementor_locations( $elementor_theme_manager )
	{
		$elementor_theme_manager->register_location( 'header' );
		$elementor_theme_manager->register_location( 'footer' );
	}  
}

function kofejob_tiny_mce_allowed_tags($initArray) {
    $ext = 'p';
    if ( isset( $initArray['extended_valid_elements'] ) ) {
        $initArray['extended_valid_elements'] .= ',' . $ext;
    } else {
        $initArray['extended_valid_elements'] = $ext;
    }
    return $initArray;
}


function kofejob_widgets_block_editor_support() {
    remove_theme_support( 'widgets-block-editor' );
}
add_action( 'after_setup_theme', 'kofejob_widgets_block_editor_support' );

function kofejob_get_current_user_id_new(){
    $uid = get_current_user_id();
    $employer_id = get_user_meta( $uid, 'employer_id', true );
    $freelancer_id = get_user_meta( $uid, 'freelancer_id', true );
    if( is_super_admin($uid) && $freelancer_id == "" && $employer_id == ""){
        kofejob_register_type_return($uid, 'both');
    }
}
add_action( 'init', 'kofejob_get_current_user_id_new' );
add_action('wp_footer', 'kofejob_footer_function');
if (!function_exists('kofejob_footer_function')) {

    function kofejob_footer_function() { ?>
        <input type="hidden" id="freelance_ajax_url" value="<?php echo admin_url('admin-ajax.php'); ?>" />
        <input type="hidden" id="gen_nonce" value="<?php echo wp_create_nonce('fl_gen_secure'); ?>" />
        <input type="hidden" id="nonce_error" value="<?php echo esc_attr__('Something went wrong','kofejob'); ?>" />
   <?php }
}

function kofejob_header_menu() {
	register_nav_menu('header_menu',esc_html( 'Header Menu' ));
  }
  add_action( 'init', 'kofejob_header_menu' );

  function kofejob_pagination() {
  
    if( is_singular() )
        return;
  
    global $wp_query;
  
    /** Stop execution if there's only 1 page */
    if( $wp_query->max_num_pages <= 1 )
        return;
  
    $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
    $max   = intval( $wp_query->max_num_pages );
  
    /** Add current page to the array */
    if ( $paged >= 1 )
        $links[] = $paged;
  
    /** Add the pages around the current page to the array */
    if ( $paged >= 3 ) {
        $links[] = $paged - 1;
        $links[] = $paged - 2;
    }
  
    if ( ( $paged + 2 ) <= $max ) {
        $links[] = $paged + 2;
        $links[] = $paged + 1;
    }
  
    echo '<ul class="paginations">' . "\n";
  
    /** Previous Post Link */
    if ( get_previous_posts_link() )
        printf( '<li class="arrow">%s</li>' . "\n", get_previous_posts_link( __( '<i class="fas fa-angle-left"></i>', 'kofejob' ) ) );
  
    /** Link to first page, plus ellipses if necessary */
    if ( ! in_array( 1, $links ) ) {
        $class = 1 == $paged ? ' class="active"' : '';
  
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
  
        if ( ! in_array( 2, $links ) )
            echo '<li><span class="page-numbers dots">…</span></li>';
    }
  
    /** Link to current page, plus 2 pages in either direction if necessary */
    sort( $links );
    foreach ( (array) $links as $link ) {
        $class = $paged == $link ? ' class="active"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
    }
  
    /** Link to last page, plus ellipses if necessary */
    if ( ! in_array( $max, $links ) ) {
        if ( ! in_array( $max - 1, $links ) )
            echo '<li><span class="page-numbers dots">…</span></li>' . "\n";
  
        $class = $paged == $max ? ' class="active"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
    }
  
    /** Next Post Link */
    if ( get_next_posts_link() )
        printf( '<li class="arrow pagi_next">%s</li>' . "\n", get_next_posts_link( __( '<i class="fas fa-angle-right"></i>', 'kofejob' ) ) );
  
    echo '</ul>' . "\n";
  
}

function kofejob_paginationblog() {
  
    if( is_singular() )
        return;
  
    global $wp_query;
  
    /** Stop execution if there's only 1 page */
    if( $wp_query->max_num_pages <= 1 )
        return;
  
    $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
    $max   = intval( $wp_query->max_num_pages );
  
    /** Add current page to the array */
    if ( $paged >= 1 )
        $links[] = $paged;
  
    /** Add the pages around the current page to the array */
    if ( $paged >= 3 ) {
        $links[] = $paged - 1;
        $links[] = $paged - 2;
    }
  
    if ( ( $paged + 2 ) <= $max ) {
        $links[] = $paged + 2;
        $links[] = $paged + 1;
    }
	if ( $paged >= 1 ){
		
    echo '<div class="row pb-4">
	<div class="col-md-12 ">
	<div class="blog-pagination float-end">
	<ul class="paginations">' . "\n";
  
    /** Previous Post Link */
    if ( get_previous_posts_link() )
        printf( '<li class="arrow">%s</li>' . "\n", get_previous_posts_link( __( '<i class="fas fa-angle-left"></i>', 'kofejob' ) ) );
  
    /** Link to first page, plus ellipses if necessary */
    if ( ! in_array( 1, $links ) ) {
        $class = 1 == $paged ? ' class="active"' : '';
  
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
  
        if ( ! in_array( 2, $links ) )
            echo '<li><span class="page-numbers dots">…</span></li>';
    }
  
    /** Link to current page, plus 2 pages in either direction if necessary */
    sort( $links );
    foreach ( (array) $links as $link ) {
        $class = $paged == $link ? ' class="active"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
    }
  
    /** Link to last page, plus ellipses if necessary */
    if ( ! in_array( $max, $links ) ) {
        if ( ! in_array( $max - 1, $links ) )
            echo '<li><span class="page-numbers dots">…</span></li>' . "\n";
  
        $class = $paged == $max ? ' class="active"' : '';
        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
    }
  
    /** Next Post Link */
    if ( get_next_posts_link() )
        printf( '<li class="arrow pagi_next">%s</li>' . "\n", get_next_posts_link( __( '<i class="fas fa-angle-right"></i>', 'kofejob' ) ) );
  
    echo '</ul></div></div></div>' . "\n";
	}
  
}


add_filter( 'woocommerce_should_load_paypal_standard', '__return_true' );



add_filter('woocommerce_account_menu_items', 'kofejob_remove_my_account_tabs', 999);

  function kofejob_remove_my_account_tabs($items) {
    unset($items['dashboard']);
    unset($items['downloads']);
    unset($items['edit-address']);
    unset($items['payment-methods']);
    unset($items['edit-account']);
 
    return $items;
}



if (!function_exists('kofejob_breadcrumbnew'))
{
    function kofejob_breadcrumbnew()
    {
        $string = '';

        if (is_singular('post')) {
            $string .= esc_html(get_the_title());
        } else if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) &&  is_shop()) {
            $string .= esc_html__('Shop', 'kofejob');
        } else if (is_page()) {
            $string .= esc_html(get_the_title());
            } else if (is_tag()) {
            $string .= esc_html__('Tag: ', 'kofejob') . esc_html(single_tag_title("", false));
        } else if (is_search()) {
            $string .= esc_html__('Search query for: ', 'kofejob') . esc_html(get_search_query());
        } else if (is_404()) {
            $string .= esc_html__('Page Not Found', 'kofejob');
        } else if (is_author()) {
            $string .= esc_html__('Author', 'kofejob');
        } else if (is_tax()) {
            $string .= esc_html(single_cat_title("", false));
        } else if (is_archive()) {
            $string .= get_the_archive_title();
        } else if (is_home()) {
            $string = esc_html__('Blog List', 'kofejob');
        } else if (is_singular('projects')) {
            $string = esc_html__('Project Detail', 'kofejob');
        }
        else if (is_singular('product')) {
            $string .= esc_html(get_the_title());
        }

        return $string;
    }
}
function kofejob_searchfilter($query) {
    if ($query->is_search && is_page_template('search.php')) {
        $query->set('post_type', 'post');
    }
    return $query;
}
add_filter('pre_get_posts','kofejob_searchfilter');

add_filter( 'pre_comment_content', 'wp_filter_nohtml_kses' ); 


function kofejob_remove_html($comment) {
    return strip_tags($comment, '<strong><b><em><p><blockquote><cite><code><del><pre>');
 }
 add_filter('get_comment_text', 'kofejob_remove_html');
 
 add_action('wp', 'kofejob_check_home');
 function kofejob_check_home() {
}
add_filter('wpcf7_autop_or_not', '__return_false');
 

require_once get_template_directory(). '/inc/kofejob-demo-content.php';
 

 

add_filter( 'get_avatar', 'custom_replace_broken_gravatar', 10, 5 );

function custom_replace_broken_gravatar( $avatar, $id_or_email, $size, $default, $alt ) {
    // URL of your custom default avatar
    $default_avatar_url = get_stylesheet_directory_uri() . '/images/default-avatar.png';

    // Check if avatar is a Gravatar
    if ( strpos( $avatar, 'gravatar.com' ) !== false ) {
        $check_url = esc_url( get_avatar_url( $id_or_email, [ 'size' => $size, 'default' => '404' ] ) );

        // Try to fetch the image headers
        $headers = wp_remote_head( $check_url );

        if ( is_wp_error( $headers ) || ( isset( $headers['response'] ) && $headers['response'] == 404 ) ) {
            // Replace with default
            $avatar = "<img alt='" . esc_attr( $alt ) . "' src='" . esc_url( $default_avatar_url ) . "' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }
    }

    return $avatar;
}


add_filter( 'site_status_tests', function( $tests ) {
    unset( $tests['direct']['persistent_object_cache'] );
    return $tests;
});

add_filter( 'site_status_tests', function( $tests ) {
    unset( $tests['async']['background_updates'] );
    return $tests;
});

add_filter( 'site_status_tests', function( $tests ) {
    // Remove WooCommerce Action Scheduler late cron check
    if ( isset( $tests['async']['action_scheduler_queue_runner'] ) ) {
        unset( $tests['async']['action_scheduler_queue_runner'] );
    }
    return $tests;
}, 20 );
add_action( 'wp_enqueue_scripts', function () {

    wp_add_inline_style(
        'elementor-frontend',
        '.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}'
    );
    
});