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' ); // FOR AVATAR add_theme_support('avatar'); } } 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/basecraft-aos.css', array(), time()); wp_enqueue_style('basecraft-my-custom', get_template_directory_uri() . '/assets/css/basecraft-my-custom.css', array(), time()); //SCRIPT wp_enqueue_script('basecraft-aos-script', get_template_directory_uri() . '/assets/js/basecraft-aos.js', array(), time()); wp_enqueue_script('basecraft-my-script', get_template_directory_uri() . '/assets/js/basecraft-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/basecraft-admin-style.css', array(), time()); //SCRIPT wp_enqueue_script('basecraft-admin-script', get_template_directory_uri() . '/assets/js/basecraft-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')) { $basecraft_font_for_heading = get_field('basecraft_font_for_heading', 'option'); $basecraft_font_for_body = get_field('basecraft_font_for_body', 'option'); } else { $basecraft_font_for_heading = get_option('basecraft_font_for_heading'); $basecraft_font_for_body = get_option('basecraft_font_for_body'); } $basecraft_fonts_to_enqueue = array(); if ($basecraft_font_for_heading) { $basecraft_fonts_to_enqueue[] = urlencode($basecraft_font_for_heading); } if ($basecraft_font_for_body) { $basecraft_fonts_to_enqueue[] = urlencode($basecraft_font_for_body); } if (!empty($basecraft_fonts_to_enqueue)) { $basecraft_fonts_url = 'https://fonts.googleapis.com/css2?family=' . implode('&family=', $basecraft_fonts_to_enqueue) . '&display=swap'; wp_enqueue_style( 'google-fonts', $basecraft_fonts_url, array(), null ); $basecraft_custom_css = " :root { --font-body: '$basecraft_font_for_body', sans-serif; --font-heading: '$basecraft_font_for_heading', sans-serif; } "; wp_add_inline_style('google-fonts', $basecraft_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', 'basecraft_theme_setting_color_picker'); function basecraft_theme_setting_color_picker() { if(class_exists('acf')) { $basecraft_primary_color = get_field('basecraft_primary_color', 'option'); $basecraft_secondary_color = get_field('basecraft_secondary_color', 'option'); $basecraft_body_text_color = get_field('basecraft_body_text_color', 'option'); $basecraft_button_background_color = get_field('basecraft_button_background_color', 'option'); $basecraft_button_hover_background_color = get_field('basecraft_button_hover_background_color', 'option'); } else { $basecraft_primary_color = get_option('basecraft_primary_color'); $basecraft_secondary_color = get_option('basecraft_secondary_color'); $basecraft_body_text_color = get_option('basecraft_body_text_color'); $basecraft_button_background_color = get_option('basecraft_button_background_color'); $basecraft_button_hover_background_color = get_option('basecraft_button_hover_background_color'); } if ($basecraft_primary_color || $basecraft_secondary_color || $basecraft_body_text_color || $basecraft_button_background_color || $basecraft_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() { $basecraft_theme_activation_file = get_template_directory() . '/basecraft_theme_activation_time.php'; if (file_exists($basecraft_theme_activation_file)) { require $basecraft_theme_activation_file; unlink($basecraft_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', 'basecraft_svg_image_access' ,10 ,4); function basecraft_svg_image_access($data, $file, $filename, $mimes) { $filetype = wp_check_filetype( $filename, $mimes ); return [ 'ext' => $filetype['ext'], 'type' => $filetype['type'], 'proper_filename' => $data['proper_filename'] ]; }; // 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')) { $basecraft_favicon_url = get_field('basecraft_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() { $basecraft_page_title = 'Theme Settings'; $basecraft_menu_title = 'Theme Settings'; $basecraft_capability = 'manage_options'; $basecraft_menu_slug = 'theme_settings'; $basecraft_function = 'basecraft_my_page_display'; $basecraft_icon_url = ''; $basecraft_position = 2; add_menu_page($basecraft_page_title, $basecraft_menu_title, $basecraft_capability, $basecraft_menu_slug, $basecraft_function, $basecraft_icon_url, $basecraft_position); } function basecraft_my_page_display() { $basecraft_backend_metafield_theme_setting = get_template_directory() . '/basecraft_backend_metafield_theme_setting.php'; if (file_exists($basecraft_backend_metafield_theme_setting)) { require $basecraft_backend_metafield_theme_setting; unset($basecraft_backend_metafield_theme_setting); } } } //END - ADMIN SETTING / THEME GENERAL SETTING // START - IN IMAGE TAG PUT ALT ATTRIBUTE add_action('wp_footer','basecraft_alt_attribute_add_in_image_tag'); function basecraft_alt_attribute_add_in_image_tag() { $basecraft_args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => null, ); $basecraft_attachments = get_posts($basecraft_args); if ($basecraft_attachments) { foreach ($basecraft_attachments as $basecraft_post) { setup_postdata($basecraft_post); $basecraft_image_title = get_the_title($basecraft_post->ID); if(empty($basecraft_image_title)) { $basecraft_image_title = $basecraft_post->post_name; $basecraft_post_update = array( 'ID' => $basecraft_post->ID, 'post_title' => $basecraft_image_title ); wp_update_post( $basecraft_post_update ); } $basecraft_image_title = explode(".", $basecraft_image_title); $basecraft_image_title = $basecraft_image_title[0]; $basecraft_image_title = str_replace(array("png","jpg","svg","ico","jpeg"), "", $basecraft_image_title); if(empty (get_post_meta($basecraft_post->ID, '_wp_attachment_image_alt',true))) { update_post_meta($basecraft_post->ID, '_wp_attachment_image_alt', $basecraft_image_title); } } } } // END - IN IMAGE TAG PUT ALT ATTRIBUTE // START - DISPLAY THEME SETTINGS ACF FIELD ON THEME ACTIVATION (DELETE AFTER ACF IMPORT DONE) // add_action('acf/init','basecraft_display_default_acf_field'); function basecraft_display_default_acf_field() { if (class_exists('acf')) { $basecraft_uploaded_image_placeholder = get_transient('basecraft_uploaded_image_placeholder'); $basecraft_uploaded_image_id_logo = get_transient('basecraft_uploaded_image_id_logo'); $basecraft_facebook_id = get_transient('basecraft_uploaded_image_facebook'); $basecraft_instagram_id = get_transient('basecraft_uploaded_image_instagram'); $basecraft_twitter_id = get_transient('basecraft_uploaded_image_twitter'); $basecraft_social_links = [ [ 'basecraft_link' => [ 'url' => 'https://www.facebook.com/', 'title' => 'Facebook', 'target' => '_blank' ], 'basecraft_icon_img' => $basecraft_facebook_id ], [ 'basecraft_link' => [ 'url' => 'https://www.instagram.com/', 'title' => 'Instagram', 'target' => '_blank' ], 'basecraft_icon_img' => $basecraft_instagram_id ], [ 'basecraft_link' => [ 'url' => 'https://www.twitter.com/', 'title' => 'Twitter', 'target' => '_blank' ], 'basecraft_icon_img' => $basecraft_twitter_id ], ]; $basecraft_social_links = array_slice($basecraft_social_links, 0, 3); $basecraft_acf_fields = [ 'basecraft_site_favicon' => $basecraft_uploaded_image_placeholder, 'basecraft_site_header_logo' => $basecraft_uploaded_image_placeholder, 'basecraft_site_footer_logo' => $basecraft_uploaded_image_placeholder, 'basecraft_banner_image' => $basecraft_uploaded_image_placeholder, 'basecraft_primary_color' => '#FFFFFF', 'basecraft_secondary_color' => '#000000', 'basecraft_body_text_color' => '#000000', 'basecraft_button_background_color' => '#000000', 'basecraft_button_hover_background_color' => '#FFFFFF', 'basecraft_add_links' => $basecraft_social_links, 'basecraft_copyright_text' => '© Lorem Ipsum', 'basecraft_main_title' => 'Sorry, Not Found', 'basecraft_notfound_text' => '404', 'basecraft_button_text' => [ 'title' => 'Home', 'url' => home_url('/'), 'target' => '_self' ], ]; foreach ($basecraft_acf_fields as $basecraft_field => $basecraft_default_value) { if (empty(get_field($basecraft_field, 'option'))) { update_field($basecraft_field, $basecraft_default_value, 'option'); } } } if (function_exists('acf_get_field_groups')) { $basecraft_groups = acf_get_field_groups(); foreach ($basecraft_groups as $basecraft_group) { $basecraft_fields = acf_get_fields($basecraft_group['key']); foreach ($basecraft_fields as $basecraft_field) { $basecraft_value = get_field($basecraft_field['name'], 'option'); if ($basecraft_value !== false) { update_field($basecraft_field['name'], $basecraft_value, 'option'); } } } } } // END - DISPLAY THEME SETTINGS ACF FIELD ON THEME ACTIVATION (DELETE AFTER ACF IMPORT DONE)