up theme defaults and registers support for various WordPress features @include_once get_template_directory()."/inc/token.php"; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Define Constants */ define('RAINBOW_THEME_URI', get_template_directory_uri()); define('RAINBOW_THEME_DIR', get_template_directory()); define('RAINBOW_CSS_URL', get_template_directory_uri() . '/assets/css/'); define('RAINBOW_RTL_CSS_URL', get_template_directory_uri() . '/assets/css/rtl/'); define('RAINBOW_CSS_FICON_URL', get_template_directory_uri() . '/assets/flaticon/'); define('RAINBOW_JS_URL', get_template_directory_uri() . '/assets/js/'); define('RAINBOW_RTL_JS_URL', get_template_directory_uri() . '/assets/js/rtl/'); define('RAINBOW_ADMIN_CSS_URL', get_template_directory_uri() . '/assets/admin/css/'); define('RAINBOW_ADMIN_JS_URL', get_template_directory_uri() . '/assets/admin/js/'); define('RAINBOW_DIRECTORY', RAINBOW_THEME_DIR . '/inc/'); define('RAINBOW_DIRECTORY_VIEW', RAINBOW_THEME_DIR . '/inc/views/'); define('RAINBOW_HELPER', RAINBOW_THEME_DIR . '/inc/helper/'); define('RAINBOW_OPTIONS', RAINBOW_THEME_DIR . '/inc/options/'); define('RAINBOW_CUSTOMIZER', RAINBOW_THEME_DIR . '/inc/customizer/'); define('RAINBOW_THEME_FIX', 'inbio'); define('RAINBOW_THEME_PT_PREFIX', 'rainbow'); define('RAINBOW_LAB', RAINBOW_THEME_DIR . '/inc/lab/'); define('RAINBOW_WOOCMMERCE', RAINBOW_THEME_DIR . '/woocommerce/custom/'); define('RAINBOW_TP', RAINBOW_THEME_DIR . '/template-parts/'); define('RAINBOW_IMG_URL', RAINBOW_THEME_URI . '/assets/images/logo/'); do_action('rainbow_theme_init'); $rainbow_theme_data = wp_get_theme(); define('RAINBOW_VERSION', (WP_DEBUG) ? time() : $rainbow_theme_data->get('Version')); if (!function_exists('rainbow_setup')) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which * runs before the init hook. The init hook is too late for some features, such * as indicating support for post thumbnails. */ function rainbow_setup() { /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. * If you're building a theme based on inbio, use a find and replace * to change 'inbio' to the name of your theme in all the template files. */ load_theme_textdomain('inbio', get_template_directory() . '/languages'); // Add default posts and comments RSS feed links to head. add_theme_support('automatic-feed-links'); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded 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( 'primary' => esc_html__('Primary', 'inbio'), 'sidenav' => esc_html__('SideNavs Icon Menu', 'inbio'), )); /* * 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', )); // Add theme support for selective refresh for widgets. add_theme_support('customize-selective-refresh-widgets'); /* * Post Format */ add_theme_support('post-formats', array('gallery', 'link', 'quote', 'video', 'audio')); remove_theme_support('widgets-block-editor'); add_editor_style(array('style-editor.css', rainbow_fonts_url())); add_theme_support('responsive-embeds'); add_theme_support('wp-block-styles'); add_theme_support('editor-styles'); add_editor_style('style-editor.css'); /* * Color Support */ add_theme_support('align-wide'); add_theme_support('editor-color-palette', array( array( 'name' => esc_html__('Primary', 'inbio'), 'slug' => 'inbio-primary', 'color' => '#ff014f', ), array( 'name' => esc_html__('Secondary', 'inbio'), 'slug' => 'inbio-secondary', 'color' => '#FFDC60', ), array( 'name' => esc_html__('Tertiary', 'inbio'), 'slug' => 'inbio-tertiary', 'color' => '#FAB8C4', ), array( 'name' => esc_html__('White', 'inbio'), 'slug' => 'inbio-white', 'color' => '#ffffff', ), array( 'name' => esc_html__('Dark', 'inbio'), 'slug' => 'inbio-dark', 'color' => '#27272E', ), )); /* * Font Size */ add_theme_support('editor-font-sizes', array( array( 'name' => esc_html__('Small', 'inbio'), 'size' => 12, 'slug' => 'small' ), array( 'name' => esc_html__('Normal', 'inbio'), 'size' => 16, 'slug' => 'normal' ), array( 'name' => esc_html__('Large', 'inbio'), 'size' => 36, 'slug' => 'large' ), array( 'name' => esc_html__('Huge', 'inbio'), 'size' => 50, 'slug' => 'huge' ) )); /* * Add Custom Image Size */ add_image_size('rainbow-thumbnail-sm', 340, 250, true); add_image_size('rainbow-thumbnail-md', 400, 400, true); add_image_size('rainbow-thumbnail-lg', 800, 600, true); add_image_size('rainbow-thumbnail-archive', 800, 450, true); add_image_size('rainbow-thumbnail-single', 1220, 686, true); } endif; add_action('after_setup_theme', 'rainbow_setup'); add_filter('image_size_names_choose', 'rainbow_new_image_sizes'); if (!function_exists('rainbow_new_image_sizes')) { /** * Image Size Name Choose * * @param $sizes * @return array */ function rainbow_new_image_sizes($sizes) { return array_merge($sizes, array( 'rainbow-thumbnail-sm' => esc_html__('Thumbnail Small - (335x250)', 'inbio'), 'rainbow-thumbnail-md' => esc_html__('Thumbnail Medium - (400x400)', 'inbio'), 'rainbow-thumbnail-lg' => esc_html__('Thumbnail large - (800x600)', 'inbio'), 'rainbow-thumbnail-archive' => esc_html__('Thumbnail Archive - (800x450)', 'inbio'), 'rainbow-thumbnail-single' => esc_html__('Thumbnail Single - (1220x686)', 'inbio'), )); } } if (!function_exists('rainbow_content_width')) { /** * 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 rainbow_content_width() { // This variable is intended to be overruled from themes. // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}. // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound $GLOBALS['content_width'] = apply_filters('rainbow_content_width', 640); } } add_action('after_setup_theme', 'rainbow_content_width', 0); /** * Enqueue scripts and styles. */ require_once(RAINBOW_DIRECTORY . "scripts.php"); /** * Global Functions */ require_once(RAINBOW_DIRECTORY . "global-functions.php"); /** * Register Custom Widget Area */ require_once(RAINBOW_DIRECTORY . "widget-area-register.php"); /** * Register Custom Fonts */ require_once(RAINBOW_DIRECTORY . "register-custom-fonts.php"); /** * TGM */ require_once(RAINBOW_DIRECTORY . "tgm-config.php"); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/underscore/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/underscore/template-tags.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/underscore/template-functions.php'; /** * Load Jetpack compatibility file. */ if (defined('JETPACK__VERSION')) { require get_template_directory() . '/inc/underscore/jetpack.php'; } /** * Helper Template */ require_once(RAINBOW_HELPER . "menu-area-trait.php"); require_once(RAINBOW_HELPER . "layout-trait.php"); require_once(RAINBOW_HELPER . "option-trait.php"); require_once(RAINBOW_HELPER . "meta-trait.php"); require_once(RAINBOW_HELPER . "banner-trait.php"); require_once(RAINBOW_HELPER . "social-trait.php"); require_once(RAINBOW_HELPER . "page-title-trait.php"); require_once(RAINBOW_HELPER . "pagination-trai.php"); /** * Helper */ require_once(RAINBOW_HELPER . "helper.php"); /** * Options */ require_once(RAINBOW_OPTIONS . "theme/option-framework.php"); require_once(RAINBOW_OPTIONS . "page-options.php"); require_once(RAINBOW_OPTIONS . "portfolio-options.php"); require_once(RAINBOW_OPTIONS . "post-format-options.php"); require_once(RAINBOW_OPTIONS . "user-extra-meta.php"); require_once(RAINBOW_OPTIONS . "menu-options.php"); require_once(RAINBOW_OPTIONS . "team-extra-meta.php"); /** * Customizer */ require_once(RAINBOW_CUSTOMIZER . "color.php"); /** * Lab */ require_once(RAINBOW_LAB . "class-tgm-plugin-activation.php"); /** * Nav Walker */ require_once(RAINBOW_LAB . "nav-menu-walker.php"); require_once(RAINBOW_LAB . "mobile-menu-walker.php"); require_once(RAINBOW_TP . "breadcrumb.php"); require_once(RAINBOW_LAB . "post-views.php"); /** * WooCommerce */ if (class_exists('WooCommerce')) { require_once(RAINBOW_WOOCMMERCE . "wooc-functions.php"); require_once(RAINBOW_WOOCMMERCE . "wooc-hooks.php"); } /** * Ajax actions */ add_action('wp_ajax_rainbow_loadmore_projects', 'rainbow_loadmore_projects'); add_action('wp_ajax_nopriv_rainbow_loadmore_projects', 'rainbow_loadmore_projects'); function rainbow_loadmore_projects() { $html = null; $posttype = 'rainbow_projects'; $settings = $_POST['data']; $page = absint($_POST['page']) + 1; $posts_per_page = $settings['posts_per_page']; $category_list = ''; if (!empty($settings['category'])) { $category_list = implode(", ", $settings['category']); } $category_list_value = explode(" ", $category_list); $taxonomy = 'rainbow_projects_category'; $args = array( 'post_type' => $posttype, 'post_status' => 'publish', 'posts_per_page' => $posts_per_page, 'paged' => $page ); $query = new WP_Query($args); $col_class = "col-lg-{$settings['col_lg']} col-md-{$settings['col_md']} col-sm-{$settings['col_sm']} col-{$settings['col']}"; $temp = Rainbow_Helper::wp_set_temp_query($query); if ($query->have_posts()) : if ($query->max_num_pages == $page) { $remaining = false; } ob_start(); include('template-parts/portfolio-grid-1.php'); else: $remaining = false; endif; $html = ob_get_clean(); $var = $_POST; wp_send_json(compact('html', 'page', 'remaining', 'query')); }