/** * Theme functions and definitions * * @package HelloElementor */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'HELLO_ELEMENTOR_VERSION', '3.4.4' ); define( 'EHP_THEME_SLUG', 'hello-elementor' ); define( 'HELLO_THEME_PATH', get_template_directory() ); define( 'HELLO_THEME_URL', get_template_directory_uri() ); define( 'HELLO_THEME_ASSETS_PATH', HELLO_THEME_PATH . '/assets/' ); define( 'HELLO_THEME_ASSETS_URL', HELLO_THEME_URL . '/assets/' ); define( 'HELLO_THEME_SCRIPTS_PATH', HELLO_THEME_ASSETS_PATH . 'js/' ); define( 'HELLO_THEME_SCRIPTS_URL', HELLO_THEME_ASSETS_URL . 'js/' ); define( 'HELLO_THEME_STYLE_PATH', HELLO_THEME_ASSETS_PATH . 'css/' ); define( 'HELLO_THEME_STYLE_URL', HELLO_THEME_ASSETS_URL . 'css/' ); define( 'HELLO_THEME_IMAGES_PATH', HELLO_THEME_ASSETS_PATH . 'images/' ); define( 'HELLO_THEME_IMAGES_URL', HELLO_THEME_ASSETS_URL . 'images/' ); if ( ! isset( $content_width ) ) { $content_width = 800; // Pixels. } if ( ! function_exists( 'hello_elementor_setup' ) ) { /** * Set up theme support. * * @return void */ function hello_elementor_setup() { if ( is_admin() ) { hello_maybe_update_theme_version_in_db(); } if ( apply_filters( 'hello_elementor_register_menus', true ) ) { register_nav_menus( [ 'menu-1' => esc_html__( 'Header', 'hello-elementor' ) ] ); register_nav_menus( [ 'menu-2' => esc_html__( 'Footer', 'hello-elementor' ) ] ); } if ( apply_filters( 'hello_elementor_post_type_support', true ) ) { add_post_type_support( 'page', 'excerpt' ); } if ( apply_filters( 'hello_elementor_add_theme_support', true ) ) { add_theme_support( 'post-thumbnails' ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'html5', [ 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'script', 'style', 'navigation-widgets', ] ); add_theme_support( 'custom-logo', [ 'height' => 100, 'width' => 350, 'flex-height' => true, 'flex-width' => true, ] ); add_theme_support( 'align-wide' ); add_theme_support( 'responsive-embeds' ); /* * Editor Styles */ add_theme_support( 'editor-styles' ); add_editor_style( 'editor-styles.css' ); /* * WooCommerce. */ if ( apply_filters( 'hello_elementor_add_woocommerce_support', true ) ) { // WooCommerce in general. add_theme_support( 'woocommerce' ); // Enabling WooCommerce product gallery features (are off by default since WC 3.0.0). // zoom. add_theme_support( 'wc-product-gallery-zoom' ); // lightbox. add_theme_support( 'wc-product-gallery-lightbox' ); // swipe. add_theme_support( 'wc-product-gallery-slider' ); } } } } add_action( 'after_setup_theme', 'hello_elementor_setup' ); function hello_maybe_update_theme_version_in_db() { $theme_version_option_name = 'hello_theme_version'; // The theme version saved in the database. $hello_theme_db_version = get_option( $theme_version_option_name ); // If the 'hello_theme_version' option does not exist in the DB, or the version needs to be updated, do the update. if ( ! $hello_theme_db_version || version_compare( $hello_theme_db_version, HELLO_ELEMENTOR_VERSION, '<' ) ) { update_option( $theme_version_option_name, HELLO_ELEMENTOR_VERSION ); } } if ( ! function_exists( 'hello_elementor_display_header_footer' ) ) { /** * Check whether to display header footer. * * @return bool */ function hello_elementor_display_header_footer() { $hello_elementor_header_footer = true; return apply_filters( 'hello_elementor_header_footer', $hello_elementor_header_footer ); } } if ( ! function_exists( 'hello_elementor_scripts_styles' ) ) { /** * Theme Scripts & Styles. * * @return void */ function hello_elementor_scripts_styles() { if ( apply_filters( 'hello_elementor_enqueue_style', true ) ) { wp_enqueue_style( 'hello-elementor', HELLO_THEME_STYLE_URL . 'reset.css', [], HELLO_ELEMENTOR_VERSION ); } if ( apply_filters( 'hello_elementor_enqueue_theme_style', true ) ) { wp_enqueue_style( 'hello-elementor-theme-style', HELLO_THEME_STYLE_URL . 'theme.css', [], HELLO_ELEMENTOR_VERSION ); } if ( hello_elementor_display_header_footer() ) { wp_enqueue_style( 'hello-elementor-header-footer', HELLO_THEME_STYLE_URL . 'header-footer.css', [], HELLO_ELEMENTOR_VERSION ); } } } add_action( 'wp_enqueue_scripts', 'hello_elementor_scripts_styles' ); if ( ! function_exists( 'hello_elementor_register_elementor_locations' ) ) { /** * Register Elementor Locations. * * @param ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager $elementor_theme_manager theme manager. * * @return void */ function hello_elementor_register_elementor_locations( $elementor_theme_manager ) { if ( apply_filters( 'hello_elementor_register_elementor_locations', true ) ) { $elementor_theme_manager->register_all_core_location(); } } } add_action( 'elementor/theme/register_locations', 'hello_elementor_register_elementor_locations' ); if ( ! function_exists( 'hello_elementor_content_width' ) ) { /** * Set default content width. * * @return void */ function hello_elementor_content_width() { $GLOBALS['content_width'] = apply_filters( 'hello_elementor_content_width', 800 ); } } add_action( 'after_setup_theme', 'hello_elementor_content_width', 0 ); if ( ! function_exists( 'hello_elementor_add_description_meta_tag' ) ) { /** * Add description meta tag with excerpt text. * * @return void */ function hello_elementor_add_description_meta_tag() { if ( ! apply_filters( 'hello_elementor_description_meta_tag', true ) ) { return; } if ( ! is_singular() ) { return; } $post = get_queried_object(); if ( empty( $post->post_excerpt ) ) { return; } echo '' . "\n"; } } add_action( 'wp_head', 'hello_elementor_add_description_meta_tag' ); // Settings page require get_template_directory() . '/includes/settings-functions.php'; // Header & footer styling option, inside Elementor require get_template_directory() . '/includes/elementor-functions.php'; if ( ! function_exists( 'hello_elementor_customizer' ) ) { // Customizer controls function hello_elementor_customizer() { if ( ! is_customize_preview() ) { return; } if ( ! hello_elementor_display_header_footer() ) { return; } require get_template_directory() . '/includes/customizer-functions.php'; } } add_action( 'init', 'hello_elementor_customizer' ); if ( ! function_exists( 'hello_elementor_check_hide_title' ) ) { /** * Check whether to display the page title. * * @param bool $val default value. * * @return bool */ function hello_elementor_check_hide_title( $val ) { if ( defined( 'ELEMENTOR_VERSION' ) ) { $current_doc = Elementor\Plugin::instance()->documents->get( get_the_ID() ); if ( $current_doc && 'yes' === $current_doc->get_settings( 'hide_title' ) ) { $val = false; } } return $val; } } add_filter( 'hello_elementor_page_title', 'hello_elementor_check_hide_title' ); /** * BC: * In v2.7.0 the theme removed the `hello_elementor_body_open()` from `header.php` replacing it with `wp_body_open()`. * The following code prevents fatal errors in child themes that still use this function. */ if ( ! function_exists( 'hello_elementor_body_open' ) ) { function hello_elementor_body_open() { wp_body_open(); } } require HELLO_THEME_PATH . '/theme.php'; HelloTheme\Theme::instance(); reviews Archives - Yayasan Lentera Jagad Nusantara Sejahtera

Что такое виртуальные технологии и где они применяются

Что такое виртуальные технологии и где они применяются Облачные решения являют собой схему предоставления компьютерных ресурсов через интернет. Клиенты приобретают доступ к серверам, хранилищам и программам без приобретения физического оборудования. Использование Вавада захватывает множество областей: от цифровой почты до корпоративных механизмов управления. Учебные площадки применяют облачные технологии для заочного обучения. Медицинские учреждения держат цифровые записи […]

Базовые понятия DevOps: что это и зачем нужно

Базовые понятия DevOps: что это и зачем нужно DevOps выступает собой систему проектирования программного решений. Подход связывает коллективы разработки и эксплуатации для выполнения совместных задач. Компании применяют DevOps для оптимизации релиза решений на площадку. Сегодняшний бизнес требует быстрой адаптации к трансформациям. DevOps предоставляет непрерывную доставку обновлений программных решений. Компании получают способность незамедлительно реагировать на обращения […]

Основы DevOps: что это и зачем нужно

Основы DevOps: что это и зачем нужно DevOps представляет собой концепцию создания программных обеспечения. Метод связывает команды разработки и эксплуатации для достижения общих задач. Фирмы осваивают DevOps для оптимизации релиза продуктов на площадку. Сегодняшний бизнес предполагает быстрой адаптации к трансформациям. DevOps предоставляет непрерывную доставку обновлений программного обеспечения. Организации обретают шанс оперативно отвечать на требования пользователей. […]

Что такое Big Data и как с ними оперируют

Что такое Big Data и как с ними оперируют Big Data представляет собой объёмы информации, которые невозможно проанализировать привычными методами из-за большого объёма, скорости поступления и разнообразия форматов. Нынешние компании ежедневно формируют петабайты данных из различных источников. Работа с масштабными данными предполагает несколько этапов. Изначально информацию накапливают и упорядочивают. Потом информацию фильтруют от ошибок. После […]

Фундамент анализа данных для начинающих

Фундамент анализа данных для начинающих Сегодняшний свет создаёт гигантские объёмы информации каждодневно. Корпорации и структуры нуждаются в профессионалах, способных получать ценные знания из наборов чисел и сведений. Умение оперировать с данными делается центральным компетенцией для карьерного продвижения. Начинающим существенно овладеть дисциплину последовательно, начиная с несложных принципов. Процесс нуждается усвоения математических принципов, овладения профессиональными инструментами и […]

Mental Smoothness alongside Visual Clarity

Mental Smoothness alongside Visual Clarity Mental fluency relates to the ease with which content becomes understood across a digital system. If interfaces remain structured clearly and reliably, individuals are able to understand information rapidly without unnecessary cognitive effort. Interface simplicity supports such process via reducing extra complication and presenting data in an readable Betzone structure. […]

Behavioral Trends in Current Digital Engagement

Behavioral Trends in Current Digital Engagement Digital platforms track millions of user actions daily. These activities demonstrate uniform behavioral models that creators and developers examine to improve offerings. Comprehending how individuals browse websites, press buttons, and browse through information enables develop more intuitive interactions. Behavioral models arise from repeated engagements across different devices and platforms. […]