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;}'
);
});