/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * 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(); admin - MKT 0 đồng

MKT Mail – Phần mềm quản lý Email Marketing tự động

MKT Mail đóng vai trò như một cánh tay đắc lực cho các doanh nghiệp trong hành trình tiếp cận và thu hút khách hàng tiềm năng. Nhờ vào khả năng tự động hóa, công cụ này mang đến giải pháp tối ưu để tối ưu hiệu quả của chiến dịch Email Marketing. Hãy cùng […]

Phần mềm MKT LinkedIn – Quản lý tài khoản LinkedIn tự động

LinkedIn là một mạng xã hội chuyên nghiệp trực tuyến được thiết kế đặc biệt cho cộng đồng kinh doanh. Phần mềm MKT LinkedIn là một công cụ mạnh mẽ và hiệu quả, được thiết kế đặc biệt để tối ưu hóa trải nghiệm sử dụng và tăng cường khả năng tương tác trên nền […]

Phần mềm MKT Twitter (MKT X) – Phần mềm bán hàng trên Twitter (X)

Nếu bạn muốn phát triển thương hiệu và kết nối với khách hàng tiềm năng trên mạng xã hội, Twitter (X) là một lựa chọn tuyệt vời. Để tăng cường hiệu quả kinh doanh và doanh số bán hàng trên Twitter, bạn có thể sử dụng phần mềm MKT Twitter. Đây là phần mềm marketing […]

MKT Group – Phần Mềm Quản Lý Group Facebook Tự Động

Nếu bạn đang kinh doanh online trên Facebook, bạn không thể bỏ qua Group Facebook – nơi bạn có thể tạo ra một cộng đồng khách hàng tiềm năng, tăng uy tín và doanh thu cho shop. Tuy nhiên, việc quản lý Group Facebook không phải là dễ dàng, đòi hỏi bạn phải dành nhiều […]

Làm Cách Nào Để Seeding Bài Viết Trên Twitter Bằng Phần Mềm MKT?

Nền Tảng Twitter

Twitter, với lượng người dùng đông đảo và sự tương tác nhanh chóng, là một trong những nền tảng mạng xã hội mạnh mẽ để thúc đẩy thương hiệu, sản phẩm, hoặc dịch vụ. Tuy nhiên, việc đạt được sự chú ý và tương tác cao trên nền tảng này không phải lúc nào cũng […]

Làm Cách Nào Để Seeding Bài Viết Trên Twitter Bằng Phần Mềm MKT?

Nền Tảng Twitter

Twitter, với lượng người dùng đông đảo và sự tương tác nhanh chóng, là một trong những nền tảng mạng xã hội mạnh mẽ để thúc đẩy thương hiệu, sản phẩm, hoặc dịch vụ. Tuy nhiên, việc đạt được sự chú ý và tương tác cao trên nền tảng này không phải lúc nào cũng […]

Làm Thế Nào Tải Kênh TikTok Không Dính Logo? MKT Viral 2025

Làm Thế Nào Tải Kênh Tiktok Không Dính Logo

TikTok hiện nay là một trong những nền tảng chia sẻ video phổ biến nhất trên thế giới. Tuy nhiên, một vấn đề mà nhiều người gặp phải khi tải video từ TikTok là video thường bị dính logo, điều này có thể gây phiền toái, đặc biệt nếu bạn muốn sử dụng lại video […]

Làm Thế Nào Tải Kênh TikTok Không Dính Logo? MKT Viral 2025

Làm Thế Nào Tải Kênh Tiktok Không Dính Logo

TikTok hiện nay là một trong những nền tảng chia sẻ video phổ biến nhất trên thế giới. Tuy nhiên, một vấn đề mà nhiều người gặp phải khi tải video từ TikTok là video thường bị dính logo, điều này có thể gây phiền toái, đặc biệt nếu bạn muốn sử dụng lại video […]

0934 497 513