add_node( array( 'id' => 'edukarsa-topbar-menu', 'title' => 'EduKarsa', 'href' => admin_url( 'admin.php?page=edukarsa_settings' ), ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-settings', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '⚙️ Pengaturan Utama', '⚙️ Main Settings' ), 'href' => admin_url( 'admin.php?page=edukarsa_settings' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-slider', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '🌟 Slider Banner', '🌟 Slider Banners' ), 'href' => admin_url( 'edit.php?post_type=slider' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-program', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '📚 Program Kami', '📚 Our Programs' ), 'href' => admin_url( 'edit.php?post_type=program' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-keunggulan', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '⭐ Keunggulan', '⭐ Advantages' ), 'href' => admin_url( 'edit.php?post_type=keunggulan' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-milestone', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '🏆 Milestone', '🏆 Milestones' ), 'href' => admin_url( 'edit.php?post_type=milestone' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-faq', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '❓ Tanya Jawab (FAQ)', '❓ FAQs' ), 'href' => admin_url( 'edit.php?post_type=faq' ) ) ); $wp_admin_bar->add_node( array( 'id' => 'edukarsa-sub-about', 'parent' => 'edukarsa-topbar-menu', 'title' => edukarsa_t( '☕ Donasi & Info', '☕ Donate & Info' ), 'href' => admin_url( 'admin.php?page=edukarsa_about' ) ) ); } add_action( 'admin_bar_menu', 'edukarsa_admin_bar_shortcut', 80 ); // SANITASI CHECKBOX (BOOLEAN ENFORCEMENT) function edukarsa_sanitize_checkbox( $val ) { return ( ! empty( $val ) && ( $val === 1 || $val === '1' || $val === true ) ) ? 1 : 0; } // REGISTRASI SELURUH PENGATURAN DENGAN SANITASI KETAT function edukarsa_register_settings() { // 1. Toggles & Checkboxes $checkboxes = array( 'edukarsa_tampil_bilingual', 'edukarsa_lang_en', 'edukarsa_lang_ar', 'edukarsa_lang_zh', 'edukarsa_lang_ja', 'edukarsa_tampil_accessibility', 'edukarsa_tampil_slider', 'edukarsa_tampil_stats', 'edukarsa_tampil_about', 'edukarsa_tampil_milestone', 'edukarsa_tampil_program', 'edukarsa_tampil_video', 'edukarsa_tampil_keunggulan', 'edukarsa_tampil_cta', 'edukarsa_tampil_faq', 'edukarsa_tampil_news', 'edukarsa_sidebar_tampil_search', 'edukarsa_sidebar_tampil_cta', 'edukarsa_sidebar_tampil_html', 'edukarsa_sidebar_tampil_recent', 'edukarsa_sidebar_tampil_cats', 'edukarsa_tampil_fb', 'edukarsa_tampil_ig', 'edukarsa_tampil_yt', 'edukarsa_tampil_tiktok', 'edukarsa_tampil_x' ); foreach ( $checkboxes as $cb ) { register_setting( 'edukarsa_settings_group', $cb, array( 'sanitize_callback' => 'edukarsa_sanitize_checkbox' ) ); } // 2. Colors $colors = array( 'edukarsa_primary_color', 'edukarsa_secondary_color', 'edukarsa_heading_color', 'edukarsa_mid_bg_color' ); foreach ( $colors as $col ) { register_setting( 'edukarsa_settings_group', $col, array( 'sanitize_callback' => 'sanitize_hex_color' ) ); } // 3. URLs $urls = array( 'edukarsa_header_logo', 'edukarsa_foto_kepsek', 'edukarsa_link_about', 'edukarsa_mid_bg_image', 'edukarsa_video1_thumb', 'edukarsa_video1_url', 'edukarsa_video2_thumb', 'edukarsa_video2_url', 'edukarsa_cta_bg', 'edukarsa_cta_btn_url', 'edukarsa_sidebar_cta_btn_url', 'edukarsa_sidebar_banner_img', 'edukarsa_sidebar_banner_url', 'edukarsa_footer_logo', 'edukarsa_footer_fb', 'edukarsa_footer_ig', 'edukarsa_footer_yt', 'edukarsa_footer_tiktok', 'edukarsa_footer_x' ); foreach ( $urls as $url ) { register_setting( 'edukarsa_settings_group', $url, array( 'sanitize_callback' => 'esc_url_raw' ) ); } // 4. Numbers & Integers register_setting( 'edukarsa_settings_group', 'edukarsa_sidebar_recent_count', array( 'sanitize_callback' => 'absint' ) ); // 5. Emails register_setting( 'edukarsa_settings_group', 'edukarsa_footer_email', array( 'sanitize_callback' => 'sanitize_email' ) ); // 6. Safe HTML Textareas $safe_html = array( 'edukarsa_teks_sambutan', 'edukarsa_sidebar_html_content', 'edukarsa_footer_alamat', 'edukarsa_footer_jam', 'edukarsa_footer_desc' ); foreach ( $safe_html as $html ) { register_setting( 'edukarsa_settings_group', $html, array( 'sanitize_callback' => 'wp_kses_post' ) ); } // 7. General Text Inputs $text_inputs = array( 'edukarsa_font_choice', 'edukarsa_milestone_subtitle', 'edukarsa_milestone_title', 'edukarsa_program_subtitle', 'edukarsa_program_title', 'edukarsa_keunggulan_subtitle', 'edukarsa_keunggulan_title', 'edukarsa_faq_subtitle', 'edukarsa_faq_title', 'edukarsa_news_title', 'edukarsa_stat1_angka', 'edukarsa_stat1_label', 'edukarsa_stat1_desc', 'edukarsa_stat1_icon', 'edukarsa_stat2_angka', 'edukarsa_stat2_label', 'edukarsa_stat2_desc', 'edukarsa_stat2_icon', 'edukarsa_stat3_angka', 'edukarsa_stat3_label', 'edukarsa_stat3_desc', 'edukarsa_stat3_icon', 'edukarsa_nama_kepsek', 'edukarsa_subtitle_about', 'edukarsa_cta_title', 'edukarsa_cta_btn_teks', 'edukarsa_sidebar_cta_badge', 'edukarsa_sidebar_cta_title', 'edukarsa_sidebar_cta_desc', 'edukarsa_sidebar_cta_btn_text', 'edukarsa_sidebar_html_title', 'edukarsa_sidebar_recent_title', 'edukarsa_sidebar_cats_title', 'edukarsa_footer_telp', 'edukarsa_wa_btn_text', 'edukarsa_wa_default_msg', 'edukarsa_footer_copyright' ); foreach ( $text_inputs as $txt ) { register_setting( 'edukarsa_settings_group', $txt, array( 'sanitize_callback' => 'sanitize_text_field' ) ); } } add_action( 'admin_init', 'edukarsa_register_settings' ); function edukarsa_settings_page_html() { if ( ! current_user_can( 'manage_options' ) ) return; $font_current = get_option( 'edukarsa_font_choice', 'plus_jakarta_sans' ); $primary_color = get_option( 'edukarsa_primary_color', '#0b4a8e' ); $secondary_color = get_option( 'edukarsa_secondary_color', '#1a73e8' ); $heading_color = get_option( 'edukarsa_heading_color', '#0f172a' ); $active_lang = edukarsa_get_admin_lang(); ?>
EduKarsa dibangun dengan komitmen Zero Plugin untuk memastikan situs institusi pendidikan Anda terbebas dari lisensi berbayar bulanan, terbebas dari celah keamanan plugin pihak ketiga, dan memiliki kecepatan akses maksimal bagi siswa maupun wali murid.', 'The EduKarsa theme is built with a Zero Plugin standard to ensure your educational site is free from monthly plugin fees, third-party security vulnerabilities, and maintains maximum access speed for students and parents.' ) ); ?>
EduKarsa Theme • v1.1.4
Developed by masbudi.my.id