/** * 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(); ! Без рубрики Archives - Yayasan Lentera Jagad Nusantara Sejahtera

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Почему кибербезопасность делается значимым способностью

Почему кибербезопасность делается значимым способностью Информационная век и новые проблемы Жизнь текущего персоны неразрывно связана с инновациями. Мы разговариваем, учимся, трудимся, платим за приобретения и в том числе отдыхаем в сети интернет. На основании данных информации исследовательской компании DataReportal, в России на первое число нынешнего года использовали интернет более 85% населения. Это указывает, что огромное […]

Casino Online Games: Slots, Live Desks and More

Casino Online Games: Slots, Live Desks and More Modern internet casinos offer thousands of gaming alternatives that serve to every liking and budget. Users can turn reels on bright slot machines, participate live dealer tables for real card games, or attempt fast-paced instant-win formats. Each segment offers distinctive mechanics, visual styles, and payout structures. Slot […]

Casino Online Titles: Slots, Live Tables and More

Casino Online Titles: Slots, Live Tables and More Modern internet casinos present thousands of gaming options that cater to every preference and budget. Gamblers can turn reels on bright slot machines, join live dealer tables for real card games, or test fast-paced instant-win formats. Each segment offers distinctive mechanics, graphical styles, and payout structures. Slot […]

Casino on-line: participant dashboard, options and account oversight

Casino on-line: participant dashboard, options and account oversight Current gambling services offer users with extensive account supervision features that enable total control over gaming experiences. The user dashboard functions as a central hub where players can observe balances, track betting activity, and change numerous choices according to specific needs. Account settings include several categories including […]

Online Casino Movements Defining the Manner Users Pick Platforms

Online Casino Movements Defining the Manner Users Pick Platforms The online betting sector persists to advance at a fast tempo, fueled by technological innovations and varying player tastes. Modern casino operators face growing pressure to change their services in reaction to shifting demands. Contest among casino online senza aams operators has intensified, forcing sites to […]