/** * 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(); q Archives - Yayasan Lentera Jagad Nusantara Sejahtera

Как социальные платформы влияют на самооценку тинейджеров и взрослых

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

Как действуют конструкторы цифровых услуг

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

Gaming Digital: A Detailed Guide of Digital Gaming Platforms

Gaming Digital: A Detailed Guide of Digital Gaming Platforms Casino online means one digital gambling model through which entertainment, digital systems, banking, user-account management, as well as legal terms come together inside one site. The current service can include casino-slot games, roulette titles, twenty-one, baccarat, poker-based variations, live hosted tables, prize-pool products, quick formats, bonuses, […]

Gaming Digital: The Expanded Guide of Digital Gambling Services

Gaming Digital: The Expanded Guide of Digital Gambling Services Casino on-line is a web-based gaming structure through which entertainment, software, payments, account management, as well as formal terms come together inside a single platform. The contemporary platform may contain reel games, wheel games, blackjack, baccarat, card-room variations, streamed hosted areas, jackpot products, fast formats, bonuses, […]

Gambling Digital: The Detailed Overview about Online Gambling Sites

Gambling Digital: The Detailed Overview about Online Gambling Sites Casino online is one digital gambling structure in which leisure, software, transactions, user-account control, and legal rules meet inside one platform. A modern platform may contain slot products, wheel games, blackjack games, baccarat games, poker-based versions, live hosted rooms, prize-pool games, instant formats, promotions, device-based access, […]

Online Casino Transfers: How Contributions and Cashouts Function

Online Casino Transfers: How Contributions and Cashouts Function Online casino operators function through financial systems that enable players to transfer funds into gaming accounts and request cashouts when prizes happen. Comprehending how these transfers function assists users handle their balances efficiently and prevent unanticipated postponements. Payment execution requires multiple participants, including lenders, payment service providers, […]

Casino on-line summary: gameplay systems and platform functionality

Casino on-line summary: gameplay systems and platform functionality Electronic gambling services run through integrated software frameworks that oversee game distribution, user accounts, and monetary exchanges. These frameworks join players to gaming content through web browsers or specialized apps. The technological infrastructure comprises servers that house game collections, databases that store user details, and payment gateways […]

Casino On-line Adventure: From Registration to Gameplay

Casino On-line Adventure: From Registration to Gameplay Current sites provide entertainment through digital channels. Gamblers access titles, promotions, and payment methods from devices or mobile devices. The experience commences with account setup and continues through game selection, deposits, and withdrawals. Providers provide various game groups. Slots rule the catalog with thousands of titles. Table games […]

Casino On-line Journey: From Enrollment to Play

Casino On-line Journey: From Enrollment to Play Contemporary platforms provide entertainment through electronic means. Users access games, promotions, and payment platforms from devices or smartphones. The process starts with account setup and proceeds through game selection, deposits, and withdrawals. Operators supply various game types. Slots rule the catalog with thousands of options. Table games contain […]