valueDefault = $WpCustomNotification->valueDefault; add_action('admin_menu', array($this, 'njt_nofi_showMenu')); add_action('wp', array( $this, 'njt_nofi_showNotification')); //Register Enqueue add_action('wp_enqueue_scripts', array($this, 'njt_nofi_homeRegisterEnqueue')); add_filter('plugin_action_links_notibar/njt-notification-bar.php', array($this, 'addActionLinks')); } public function njt_nofi_showMenu() { global $submenu; $settings_suffix = add_submenu_page( 'options-general.php', __('Notification Bar', NJT_NOFI_DOMAIN), __('Notibar', NJT_NOFI_DOMAIN), 'manage_options', 'njt_nofi_NotificationBar', array($this, 'njt_nofi_notificationSettings') ); $urlEncode = urlencode('autofocus[panel]') ; $link = esc_html(admin_url('/customize.php?'. $urlEncode.'=njt_notification-bar')); if($submenu['options-general.php']) { foreach($submenu['options-general.php'] as $k=>$item){ if ($item[2] == 'njt_nofi_NotificationBar') { $submenu['options-general.php'][$k][2] = $link; } } } $this->hook_suffix = array($settings_suffix); } public function njt_nofi_homeRegisterEnqueue() { $isDisplayNotification = $this->njt_nofi_isDisplayNotification(); $isEnableNotification = get_theme_mod('njt_nofi_enable_bar', 1) == 1 ? true : false; $isdevicesDisplay = $this->njt_nofi_devicesDisplay(); if($this->njt_nofi_checkDisplayNotification() && $isdevicesDisplay) { wp_register_style('njt-nofi', NJT_NOFI_PLUGIN_URL . 'assets/frontend/css/notibar.css', array(), NJT_NOFI_VERSION); wp_enqueue_style('njt-nofi'); wp_register_script('njt-nofi', NJT_NOFI_PLUGIN_URL . 'assets/frontend/js/notibar.js', array('jquery'),NJT_NOFI_VERSION, true ); wp_enqueue_script('njt-nofi'); wp_localize_script('njt-nofi', 'wpData', array( 'admin_ajax' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce("njt-nofi-notification"), 'isPositionFix' => get_theme_mod( 'njt_nofi_position_type', $this->valueDefault['position_type'] ) == 'fixed' ? true : false, 'hideCloseButton' => get_theme_mod( 'njt_nofi_hide_close_button',$this->valueDefault['hide_close_button']), 'isDisplayButton' => get_theme_mod( 'njt_nofi_handle_button', 1), 'presetColor' => get_theme_mod( 'njt_nofi_preset_color', $this->valueDefault['preset_color']), 'alignContent' => get_theme_mod( 'njt_nofi_alignment', $this->valueDefault['align_content']), 'textColorNotification' => get_theme_mod('njt_nofi_text_color', $this->valueDefault['text_color']), 'textButtonColor' => get_theme_mod('njt_nofi_lb_text_color',$this->valueDefault['lb_text_color']), 'wp_is_mobile' => wp_is_mobile(), 'is_customize_preview' => is_customize_preview(), 'wp_get_theme' => wp_get_theme()->get( 'Name' ) )); } } public function addActionLinks($links) { $urlEncode = urlencode('autofocus[panel]') ; $linkUrl= esc_html(admin_url('/customize.php?'. $urlEncode.'=njt_notification-bar')); $settingsLinks = array( 'Settings', ); return array_merge($settingsLinks, $links); } public function njt_nofi_notificationSettings() { exit; } public function njt_nofi_checkDisplayNotification() { $isDisplayNotification = $this->njt_nofi_isDisplayNotification(); $isEnableNotification = get_theme_mod('njt_nofi_enable_bar', 1) == 1 ? true : false; if($isDisplayNotification && is_customize_preview() ) { return true; } if($isDisplayNotification && $isEnableNotification && !is_customize_preview()) { return true; } return false; } public function njt_nofi_isDisplayNotification() { $isDisplayHome = get_theme_mod('njt_nofi_homepage', $this->valueDefault['dp_homepage'] ) ; $isDisplayPage = get_theme_mod('njt_nofi_pages', $this->valueDefault['dp_pages'] ) ; $isDisplayPosts = get_theme_mod('njt_nofi_posts', $this->valueDefault['dp_posts']) ; $isDisplayPageOrPostId = get_theme_mod('njt_nofi_pp_id'); $arrDisplayPageOrPostId = explode(",",$isDisplayPageOrPostId); $currentPageOrPostID = get_the_ID(); if($isDisplayHome && is_home() || $isDisplayHome && is_front_page()) { return true; } else if($isDisplayPage && is_page() || (function_exists("is_shop") && $isDisplayPage && is_shop())) { return true; } else if($isDisplayPosts && is_single()) { return true; } else if( in_array($currentPageOrPostID, $arrDisplayPageOrPostId)){ return true; } return false; } public function njt_nofi_devicesDisplay() { $isdevicesDisplay = get_theme_mod('njt_nofi_devices_display', $this->valueDefault['devices_display']); if($isdevicesDisplay == 'all_devices') { return true; } if ($isdevicesDisplay == 'desktop' && !wp_is_mobile() ) { return true; } if ($isdevicesDisplay == 'mobile' && wp_is_mobile() ) { return true; } return false; } public function njt_nofi_showNotification() { // Display Notification Bar. $isDisplayNotification = $this->njt_nofi_isDisplayNotification(); $isEnableNotification = get_theme_mod('njt_nofi_enable_bar', 1) == 1 ? true : false; $isdevicesDisplay = $this->njt_nofi_devicesDisplay(); if($isDisplayNotification && $isdevicesDisplay && is_customize_preview()) { add_action( 'wp_footer', array( $this, 'display_notification' ),10); } if($isDisplayNotification && $isEnableNotification && $isdevicesDisplay && !is_customize_preview()) { add_action( 'wp_footer', array( $this, 'display_notification' ),10); } add_action( 'wp_footer', array( $this, 'njt_nofi_rederInput' ),10); } public function display_notification() { if(wp_get_theme()->get( 'Name' ) == 'Nayma') { $widthStyle = 'auto'; } else { $widthStyle = '100%'; } if (wp_is_mobile()) { $contentWidth = $widthStyle; } else { $contentWidth = get_theme_mod('njt_nofi_content_width') != null ? get_theme_mod('njt_nofi_content_width').'px' : $widthStyle; } $isPositionFix = get_theme_mod('njt_nofi_position_type', $this->valueDefault['position_type']) == 'fixed' ? true : false; $bgColorNotification = get_theme_mod('njt_nofi_bg_color', $this->valueDefault['bg_color']); $textColorNotification = get_theme_mod('njt_nofi_text_color', $this->valueDefault['text_color']); $lbColorNotification = get_theme_mod('njt_nofi_lb_color', $this->valueDefault['lb_color']); $notificationFontSize = get_theme_mod('njt_nofi_font_size', $this->valueDefault['font_size']); if(wp_get_theme()->get( 'Name' ) == 'Nayma') { ?> is_home(), 'is_page' => is_page(), 'is_single' => is_single(), 'id_page' => get_the_ID() ); ?>