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

Bettilt Casino: Gelecek Dönem Eğlence Tecrübesinden Evvel Bilgi Sahibi Olmanız Gereken Kapsamlı Bir Yol Haritası

Bettilt Casino: Gelecek Dönem Eğlence Tecrübesinden Evvel Bilgi Sahibi Olmanız Gereken Kapsamlı Bir Yol Haritası Dijital keyif yapısının hızla güçlendiği bu zamanda, sanal casino çözümleri hem yeni katılanlar hem de deneyimli üyeler için davetkâr ayrıcalıklar kullanıma açmaktadır. Bu tür servisler arasında bettilt güncel giriş, bol slot çeşitliliği, erişimi kolay tasarımı ve değişik kampanya yapılarıyla belirginleşen […]

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz Online oyun pazarının hızla evrildiği bu süreçte, sanal eğlence platformu çözümleri hem acemi oyuncular hem de uzun süredir kullanan oyuncular için avantajlı avantajlar ortaya koymaktadır. Bu tür servisler arasında bettilt apk, dolu masa oyunu dağılımı, pratik kullanım yüzeyi ve değişik promosyon çözümleriyle fark […]

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz İnternet tabanlı interaktif deneyim ekosisteminin hızla güçlendiği bu ortamda, sanal oyun sitesi platformları hem ilk defa giriş yapanlar hem de uzun süredir kullanan oyuncular için ilgi çekici fırsatlar takdim etmektedir. Bu tür platformlar arasında bettilt güncel giriş, dolu slot çeşitliliği, pratik ekran yapısı […]

Bettilt Casino: Gelecek Dönem Eğlence Tecrübesinden Evvel Bilgi Sahibi Olmanız Gereken Kapsamlı Bir Yol Haritası

Bettilt Casino: Gelecek Dönem Eğlence Tecrübesinden Evvel Bilgi Sahibi Olmanız Gereken Kapsamlı Bir Yol Haritası İnternet tabanlı vakit geçirme alanının hızla dönüştüğü bu süreçte, online oyun sitesi platformları hem başlangıç seviyesindekiler hem de sürekli oynayan üyeler için öne çıkan imkanlar vermektedir. Bu tür altyapılar arasında bettilt giriş adresi, geniş oyun çeşitliliği, kolay gezilebilir ekran yapısı […]

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz

Bettilt Casino: Uzun Süreli Bahis Maceranızdan Önce Mutlaka Öğrenmeniz Gereken Detaylı Kılavuz Online vakit geçirme çevresinin hızla genişlediği bu yapıda, online oyun platformu platformları hem acemi oyuncular hem de profesyonel bahisçiler için çekici avantajlar vermektedir. Bu tür platformlar arasında bettilt, geniş eğlence çeşitliliği, kolay gezilebilir arayüzü ve çeşit çeşit ek fırsat yapılarıyla öne çıkan servislerden […]