<?php
/**
* Theme functions and definitions
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
define( 'HELLO_ELEMENTOR_VERSION', '3.4.6' );
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( 'assets/css/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 '<meta name="description" content="' . esc_attr( wp_strip_all_tags( $post->post_excerpt ) ) . '">' . "\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();
/* NB brand entity unify (added 2026-09-28) */
add_filter( 'rank_math/schema/graph', 'nb_unify_brand_entity', 99 );
function nb_unify_brand_entity( $graph ) {
if ( ! is_array( $graph ) ) { return $graph; }
foreach ( $graph as $k => $obj ) {
if ( ! is_array( $obj ) || empty( $obj['@type'] ) ) { continue; }
$types = (array) $obj['@type'];
if ( in_array( 'Organization', $types, true ) || in_array( 'ProfessionalService', $types, true ) || in_array( 'WebSite', $types, true ) ) {
if ( isset( $obj['name'] ) && 'NeoBooths' === $obj['name'] ) {
$alt = isset( $obj['alternateName'] ) ? (array) $obj['alternateName'] : array();
$obj['name'] = 'New Power Exhibition';
$obj['alternateName'] = array_values( array_unique( array_merge( $alt, array( 'NeoBooths', 'NewPower Exhibits' ) ) ) );
$graph[ $k ] = $obj;
}
}
}
return $graph;
}
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/neobooths_com/wp-content/themes/hello-elementor/functions.php:1) in /www/wwwroot/neobooths_com/wp-content/plugins/neobooths-geo/neobooths-geo.php on line 2422
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/neobooths_com/wp-content/themes/hello-elementor/functions.php:1) in /www/wwwroot/neobooths_com/wp-content/plugins/neobooths-geo/neobooths-geo.php on line 2423
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/neobooths_com/wp-content/themes/hello-elementor/functions.php:1) in /www/wwwroot/neobooths_com/wp-content/plugins/neobooths-geo/neobooths-geo.php on line 2424
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/neobooths_com/wp-content/themes/hello-elementor/functions.php:1) in /www/wwwroot/neobooths_com/wp-content/plugins/neobooths-geo/neobooths-geo.php on line 2425
nn About 2023 China Modern Office Industry Annual Conference and China Intelligent Office Industry Expo The China Modern Office Industry Expo focuses on smart office equipment, workplace solutions and the digitalisation of corporate environments. For a brand in the smart office and workplace sector, a booth that reads clearly from the aisle is what turns […]
nn About 2023 Shenzhen Fashion Home Design Week Shenzhen Fashion Home Design Week showcases contemporary home furniture, decoration and lifestyle products to designers and retailers. For a brand in the home design and lifestyle sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for UNIQUE […]
nn About 2023 Shaxian Food Festival The Shaxian Food Festival celebrates one of China’s most famous culinary brands, attracting food industry professionals and media attention. For a brand in the food culture and catering sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for SHAXIAN […]
nn About CAC 2023 CAC is a leading agrochemical exhibition, covering crop protection, fertilizers and related services for the global agricultural supply chain. For a brand in the agrochemical and crop protection sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for QAL NeoBooths managed the […]
nn About 2023 Shanghai Itbo Pet Expo Pet expos bring together pet food, accessories, healthcare and services, serving the fast-growing companion animal market. For a brand in the pet industry sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for PETPURR NeoBooths managed the complete […]
nn About SIUF 2023 SIUF is a professional trade fair for underwear, swimwear and intimate apparel, attracting global brands and buyers. For a brand in the intimate apparel and fashion sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for ZOYA NeoBooths managed the complete […]
nn About SIUF 2023 SIUF is a professional trade fair for underwear, swimwear and intimate apparel, attracting global brands and buyers. For a brand in the intimate apparel and fashion sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for ANNELPU NeoBooths managed the complete […]
nn About ITES Shenzhen Industrial Expo 2023 ITES Shenzhen Industrial Expo covers machine tools, industrial automation and advanced manufacturing, a core sourcing event for factory technology. For a brand in the industrial manufacturing sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for HIPPSC NeoBooths […]
nn About ITES Shenzhen Industrial Expo 2023 ITES Shenzhen Industrial Expo covers machine tools, industrial automation and advanced manufacturing, a core sourcing event for factory technology. For a brand in the industrial manufacturing sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered for A&T NeoBooths […]
nn About 2023 Shenzhen Spring Gifts Exhibition The Shenzhen Spring Gifts Exhibition is a major sourcing fair for gifts, promotional items and consumer goods, attracting international buyers. For a brand in the gifts and consumer goods sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered […]
nn About 2023 Shenzhen Spring Gifts Exhibition The Shenzhen Spring Gifts Exhibition is a major sourcing fair for gifts, promotional items and consumer goods, attracting international buyers. For a brand in the gifts and consumer goods sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered […]
nn About 2023 Shenzhen Spring Gifts Exhibition The Shenzhen Spring Gifts Exhibition is a major sourcing fair for gifts, promotional items and consumer goods, attracting international buyers. For a brand in the gifts and consumer goods sector, a booth that reads clearly from the aisle is what turns footfall into scheduled conversations. How NeoBooths Delivered […]