add_cap('whz_chat_agent'); } } public function register_rest_routes() { require_once plugin_dir_path(__FILE__) . 'includes/class-whz-247-chatsystem-rest.php'; WHZ_247_ChatSystem_REST::register_routes(); } public function register_admin_menu() { // Hauptmenü add_menu_page( 'WHZ 24/7 Chat', 'Live Chat', 'read', 'whz-247-chat', array($this, 'display_chat_dashboard_page'), 'dashicons-format-chat', 30 ); // Untermenüs add_submenu_page( 'whz-247-chat', 'Dashboard', 'Dashboard', 'whz_chat_agent', // Nur Chatter 'whz-247-chat', array($this, 'display_chat_dashboard_page') ); add_submenu_page( 'whz-247-chat', 'Aktive Chatter', 'Aktive Chatter', 'whz_chat_agent', 'whz-247-chat-active-chatters', function() { require_once plugin_dir_path(__FILE__) . 'admin/admin-active-chatters.php'; } ); add_submenu_page( 'whz-247-chat', 'Verfügbarkeit', 'Verfügbarkeit', 'whz_chat_agent', 'whz-247-chat-availability', function() { include plugin_dir_path(__FILE__) . 'admin/admin-availability-calendar.php'; } ); add_submenu_page( 'whz-247-chat', 'Einstellungen', 'Einstellungen', 'manage_options', // Nur Admin 'whz-247-chat-settings', function() { include plugin_dir_path(__FILE__) . 'admin/admin-settings.php'; } ); add_submenu_page( 'whz-247-chat', 'Chatter Status', 'Chatter Status', 'manage_options', 'whz-247-chatter-status', function() { include plugin_dir_path(__FILE__) . 'admin/admin-chatter-status.php'; } ); } public function display_chat_dashboard_page() { include plugin_dir_path(__FILE__) . 'admin/admin-chat-dashboard.php'; } public function enqueue_scripts() { wp_enqueue_style('whz-247-chat-css', plugin_dir_url(__FILE__) . 'assets/chat-widget.css', array(), '0.6.0'); wp_enqueue_script('whz-247-chat-js', plugin_dir_url(__FILE__) . 'js/chat-widget.js', array('jquery'), '0.6.0', true); // Settings laden und als CSS Variablen ausgeben $settings = get_option('whz_chat_settings', array( 'primary_color' => '#1e88e5', 'font_family' => 'Arial, sans-serif', 'font_size' => 14 )); // CSS Variablen $custom_css = " :root { --whz-primary-color: {$settings['primary_color']}; --whz-font-family: {$settings['font_family']}; --whz-font-size: {$settings['font_size']}px; } "; wp_add_inline_style('whz-247-chat-css', $custom_css); wp_localize_script('whz-247-chat-js', 'WHZ247Chat', array( 'restUrl' => esc_url_raw(rest_url('whz-247-chat/v1/')), 'nonce' => wp_create_nonce('wp_rest') )); } public function enqueue_admin_scripts($hook) { // Scripts nur auf Plugin-Seiten laden if (strpos($hook, 'whz-247-chat') === false) return; wp_enqueue_style('whz-247-chat-admin-style', plugin_dir_url(__FILE__) . 'assets/admin.css', array(), '0.6.0'); wp_enqueue_script('whz-247-chat-admin-js', plugin_dir_url(__FILE__) . 'js/admin.js', array('jquery'), '0.6.0', true); wp_localize_script('whz-247-chat-admin-js', 'WHZ247Admin', array( 'restUrl' => esc_url_raw(rest_url('whz-247-chat/v1/')), 'nonce' => wp_create_nonce('wp_rest'), 'userId' => get_current_user_id() )); // Media Uploader für Settings if($hook == 'live-chat_page_whz-247-chat-settings') { wp_enqueue_media(); } } } new WHZ_247_ChatSystem(); TEST WORPRESS

Blog

  • Hallo Welt!

    Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!