esc_html__('Header menu', 'basecraft'), 'footer' => __('Footer menu', 'basecraft'), ) ); add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'style', 'script', 'navigation-widgets', ) ); //FOR WOOCOMERCE SUPPORT add_theme_support( 'woocommerce' ); } } add_action('after_setup_theme', 'basecraft_setup'); //END THEME SETUP //START ENQUEUE STYLE & SCRIPTS FILES function basecraft_enqueue_style_script() { //STYLE wp_enqueue_style('basecraft-aos-style', get_template_directory_uri() . '/assets/css/aos.css', array(), time()); wp_enqueue_style('basecraft-my-custom', get_template_directory_uri() . '/assets/css/my-custom.css', array(), time()); //SCRIPT wp_enqueue_script('basecraft-aos-script', get_template_directory_uri() . '/assets/js/aos.js', array(), time()); wp_enqueue_script('basecraft-my-script', get_template_directory_uri() . '/assets/js/my-script.js', array('jquery'), time()); wp_localize_script('basecraft-my-script', 'ajaxObj', array('ajax_url' => admin_url('admin-ajax.php'))); } add_action('wp_enqueue_scripts', 'basecraft_enqueue_style_script'); //END - ENQUEUE STYLE & SCRIPTS FILES //START ENQUEUE STYLE & SCRIPTS FILES FOR ADMIN function basecraft_enqueue_style_script_for_admin() { //STYLE wp_enqueue_media(); wp_enqueue_style('basecraft-admin-style', get_template_directory_uri() . '/assets/css/admin-style.css', array(), time()); //SCRIPT wp_enqueue_script('basecraft-admin-script', get_template_directory_uri() . '/assets/js/admin-script.js', array('jquery'), time()); } add_action('admin_enqueue_scripts', 'basecraft_enqueue_style_script_for_admin'); //END - ENQUEUE STYLE & SCRIPTS FILES FOR ADMIN // START - ENQUEUE THEME SETTINGS FONTS HEADING AND BODY function basecraft_enqueue_google_fonts() { if(class_exists('acf')) { $font_for_heading = get_field('font_for_heading', 'option'); $font_for_body = get_field('font_for_body', 'option'); } else { $font_for_heading = get_option('font_for_heading'); $font_for_body = get_option('font_for_body'); } $fonts_to_enqueue = array(); if ($font_for_heading) { $fonts_to_enqueue[] = urlencode($font_for_heading); } if ($font_for_body) { $fonts_to_enqueue[] = urlencode($font_for_body); } if (!empty($fonts_to_enqueue)) { $fonts_url = 'https://fonts.googleapis.com/css2?family=' . implode('&family=', $fonts_to_enqueue) . '&display=swap'; wp_enqueue_style( 'google-fonts', $fonts_url, array(), null ); $custom_css = " :root { --font-body: '$font_for_body', sans-serif; --font-heading: '$font_for_heading', sans-serif; } "; wp_add_inline_style('google-fonts', $custom_css); } } add_action('wp_enqueue_scripts', 'basecraft_enqueue_google_fonts'); // END - ENQUEUE THEME SETTINGS FONTS HEADING AND BODY // START - ENQUEUE THEME SETTINGS COLOR PICKER add_action('wp_head', function() { if(class_exists('acf')) { $primary_color = get_field('primary_color', 'option'); $secondary_color = get_field('secondary_color', 'option'); $body_text_color = get_field('body_text_color', 'option'); $button_background_color = get_field('button_background_color', 'option'); $button_hover_background_color = get_field('button_hover_background_color', 'option'); } else { $primary_color = get_option('primary_color'); $secondary_color = get_option('secondary_color'); $body_text_color = get_option('body_text_color'); $button_background_color = get_option('button_background_color'); $button_hover_background_color = get_option('button_hover_background_color'); } if ($primary_color || $secondary_color || $body_text_color || $button_background_color || $button_hover_background_color) { echo ''; } }); // END - EBQUEUE THEME SETTINGS COLOR PICKER // THEME ACTIVATION TIME CREATE PAGES(HOME ,ABOUT US, CONTACT US), CATEGORY, POSTS AND SET POST NAME AS PERMALINK add_action('after_switch_theme', 'basecraft_activate'); function basecraft_activate() { $theme_activation_file = get_template_directory() . '/theme_activation_time.php'; if (file_exists($theme_activation_file)) { require $theme_activation_file; unlink($theme_activation_file); } } // END,THEME ACTIVATION TIME CREATE PAGES(HOME ,ABOUT US, CONTACT US), CATEGORY, POSTS AND SET POST NAME AS PERMALINK /*ADD ICO MIME TYPE TO ALLOWED EXTENTION*/ add_filter( 'getimagesize_mimes_to_exts', 'basecraft_add_ico_mime', 99999 ); function basecraft_add_ico_mime( $mime ) { $mime[ 'image/vnd.microsoft.icon' ] = "ico"; $mime[ 'image/x-icon' ] = "ico"; $mime[ 'image/ico' ] = "ico"; return $mime; } //END,ICO MIME TYPE TO ALLOWED EXTENSION //ADD SVG/ICO TO ALLOWED FILE UPLOADS add_action('upload_mimes', 'basecraft_add_file_types_to_uploads'); function basecraft_add_file_types_to_uploads($file_types) { $file_types['svg'] = 'image/svg+xml'; $file_types['ico'] = 'image/vnd.microsoft.icon'; $file_types['ico'] = 'image/x-icon'; $file_types['ico'] = 'image/ico'; return $file_types; } //END, FILE UPLOADS add_filter( 'wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) { $filetype = wp_check_filetype( $filename, $mimes ); return [ 'ext' => $filetype['ext'], 'type' => $filetype['type'], 'proper_filename' => $data['proper_filename'] ]; }, 10, 4 ); // END, SVG IMAGE ACCESS //START - ADD SITE FAVICON UISNG ACF add_action('login_head', 'basecraft_add_site_favicon'); add_action('admin_head', 'basecraft_add_site_favicon'); function basecraft_add_site_favicon() { if(class_exists('acf')) { $favicon_url = get_field('site_favicon', 'options');?> 'Theme General Settings', 'menu_title' => 'Theme Settings', 'menu_slug' => 'theme-general-settings', 'capability' => 'edit_posts', 'redirect' => false, 'position' => 2, )); } } else { //DEFAULT ADMIN THEME SETTING add_action('admin_menu', 'basecraft_admin_theme_settings'); function basecraft_admin_theme_settings() { $page_title = 'Theme Settings'; $menu_title = 'Theme Settings'; $capability = 'manage_options'; $menu_slug = 'theme_settings'; $function = 'basecraft_my_page_display'; $icon_url = ''; $position = 2; add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position); } function basecraft_my_page_display() { $backend_metafield_theme_setting = get_template_directory() . '/backend_metafield_theme_setting.php'; if (file_exists($backend_metafield_theme_setting)) { require $backend_metafield_theme_setting; unset($backend_metafield_theme_setting); } } } //END ADMIN SETTING / THEME GENERAL SETTING // START - REDUCE HEIGHT OF TEXT EDITOR IN THEME SETTINGS [FOOTER SECTION] [WITHOUT ACF] add_action('admin_head', 'basecraft_my_acf_modify_wysiwyg_height'); function basecraft_my_acf_modify_wysiwyg_height() { ?> 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => null, ); $attachments = get_posts($args); if ($attachments) { foreach ($attachments as $post) { setup_postdata($post); $image_title = get_the_title($post->ID); if(empty($image_title)) { $image_title = $post->post_name; $post_update = array( 'ID' => $post->ID, 'post_title' => $image_title ); wp_update_post( $post_update ); } $image_title = explode(".", $image_title); $image_title = $image_title[0]; $image_title = str_replace(array("png","jpg","svg","ico","jpeg"), "", $image_title); if(empty (get_post_meta($post->ID, '_wp_attachment_image_alt',true))) { update_post_meta($post->ID, '_wp_attachment_image_alt', $image_title); } } } } // END, IN IMAGE TAG PUT ALT ATTRIBUTE // START - DISPLAY THEME SETTINGS ACF FIELD ON THEME ACTIVATION add_action('admin_footer','display_default_acf_field'); function display_default_acf_field() { if (class_exists('acf')) { $uploaded_image_placeholder = get_transient('uploaded_image_placeholder'); // ID $uploaded_image_id_logo = get_transient('uploaded_image_id_logo'); // ID $acf_fields = [ 'site_header_logo' => [ 'ID' => $uploaded_image_id_logo, 'url' => wp_get_attachment_url($uploaded_image_id_logo), 'alt' => get_post_meta($uploaded_image_id_logo, '_wp_attachment_image_alt', true), 'title' => get_the_title($uploaded_image_id_logo), ], 'site_footer_logo' => [ 'ID' => $uploaded_image_id_logo, 'url' => wp_get_attachment_url($uploaded_image_id_logo), 'alt' => get_post_meta($uploaded_image_id_logo, '_wp_attachment_image_alt', true), 'title' => get_the_title($uploaded_image_id_logo), ], 'banner_image' => [ 'ID' => $uploaded_image_placeholder, 'url' => wp_get_attachment_url($uploaded_image_placeholder), 'alt' => get_post_meta($uploaded_image_placeholder, '_wp_attachment_image_alt', true), 'title' => get_the_title($uploaded_image_placeholder), ], 'primary_color' => '#FFFFFF', 'secondary_color' => '#000000', 'body_text_color' => '#000000', 'button_background_color' => '#000000', 'button_hover_background_color' => '#FFFFFF', 'copyright_text' => '© Lorem Ipsum', 'main_title' => 'Sorry, Not Found', 'notfound_text' => '404', 'button_text' => [ 'title' => 'Home', 'url' => home_url('/'), 'target' => '_self' ], ]; foreach ($acf_fields as $field => $default_value) { if (empty(get_field($field, 'option'))) { update_field($field, $default_value, 'option'); } } } } // END - DISPLAY THEME SETTINGS ACF FIELD ON THEME ACTIVATION