JezK
Edit File: functions.php
<?php /* Please do not edit this file as it may cause errors. Melakukan modifikasi/edit pada file ini dapat menyebabkan error atau kerusakan fungsi dari theme. */ // Show Admin Bar show_admin_bar(false); // Thumbnail if (function_exists('add_theme_support')){ add_theme_support('menus'); add_theme_support( 'post-thumbnails' ); add_image_size( 'l350', 350,220, true ); add_image_size( 'l600', 600,320, true ); } // Remove not using image size add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); function prefix_remove_default_images( $sizes ) { unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px unset( $sizes['medium_large']); // 768px return $sizes; } // Unregister No Need Default Widget add_action('widgets_init', 'unregister_default_widgets', 11); function unregister_default_widgets() { unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Block'); } // Remove 'text/css' from enqueued stylesheet add_filter('style_loader_tag', 'oke_style_remove'); function oke_style_remove($tag) { return preg_replace('~\s+type=["\'][^"\']++["\']~', '', $tag); } // Enable Threaded Comments add_action('get_header', 'enable_threaded_comments'); function enable_threaded_comments() { if (!is_admin()) { if (is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) { wp_enqueue_script('comment-reply'); } } } // Enqueue Oketheme JS add_action('wp_enqueue_scripts', 'oketheme_javascript'); function oketheme_javascript() { wp_deregister_script('jquery'); wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', '', '2.2.4', false ); wp_enqueue_script('jquery'); wp_enqueue_script( 'mixjs', get_template_directory_uri() . '/assets/js/mix.js', '', '1.0', true ); } // Enqueue Oketheme Style add_action('wp_enqueue_scripts', 'oketheme_styles'); function oketheme_styles() { wp_enqueue_style('mixcss', get_template_directory_uri() . '/assets/css/mix.css', array(), '1.0', 'screen'); wp_enqueue_style('oketheme', get_template_directory_uri() . '/style.css', array(), '1.0', 'all'); } // Enqueue Admin Oketheme JS add_action( 'admin_enqueue_scripts', 'oketheme_admin_js' ); function oketheme_admin_js() { wp_enqueue_script( 'datatables', get_template_directory_uri() . '/functions/inc/datatables/datatables.min.js', '', '1.10.18', false ); wp_enqueue_script( 'datatablesres', get_template_directory_uri() . '/functions/inc/datatables/dataTables.responsive.min.js', '', '2.2.6', false ); wp_enqueue_script('okedash', get_template_directory_uri() . '/assets/js/dashboard.js', '', '1.0', true ); } // Enqueue Admin Oketheme Style add_action( 'admin_enqueue_scripts', 'oketheme_admin_style' ); function oketheme_admin_style() { wp_enqueue_style('datatables', get_template_directory_uri() . '/functions/inc/datatables/datatables.min.css', '', '1.10.18', 'screen'); wp_enqueue_style('datatablesres', get_template_directory_uri() . '/functions/inc/datatables/dataTables.responsive.min.css', array(), '1.0', 'screen'); wp_enqueue_style( 'admin_css', get_template_directory_uri() . '/assets/css/dashboard.css', '', '', 'screen' ); } // Defer Parsing JS add_filter( 'clean_url', 'defer_parsing_of_js', 10 ); function defer_parsing_of_js( $url ) { if ( is_admin() ) return $url; //don't break WP Admin if ( FALSE === strpos( $url, '.js' ) ) return $url; if ( strpos( $url, 'jquery.min.js' ) ) return $url; if ( strpos( $url, 'wp-polyfill' ) ) return $url; return "$url' defer"; } // Disable Gutenberg & Remove Gutenberg CSS add_filter('use_block_editor_for_post_type', 'prefix_disable_gutenberg', 10, 2); function prefix_disable_gutenberg($current_status, $post_type) { global $oketheme; if (($post_type == 'post' || $post_type == 'page') && !$oketheme['gutenberg_act'] ) return false; return $current_status; } // Disable Widgets Block Editor add_filter( 'use_widgets_block_editor', '__return_false' ); // Disable Emoji remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); // Hide Dashboard Warning add_action('admin_head', 'hide_dashwarning'); function hide_dashwarning() { echo '<style>#dashboard_php_nag,#dashboard_site_health {display:none}</style>'; } // Configuration function config_data() { return array( 'opt_safe_mode' => false, 'opt_post_max_show' => 100, 'php_default' => '7.4', 'php_required' => array('7.2', '7.3', '7.4'), // 'php_required' => array('8.2'), ); } // Checking PHP & IonCube Loader $php_version = PHP_VERSION; $required_php = config_data()['php_required']; $ioncube_loaded = function_exists('ioncube_loader_version'); $compatible_php = false; // Jika php_required kosong → fallback minimal php_default if (empty($required_php)) { $compatible_php = version_compare($php_version, config_data()['php_default'], '>='); } else { foreach ($required_php as $ver) { if (version_compare($php_version, $ver, '>=') && version_compare($php_version, (float)$ver + 0.1, '<')) { $compatible_php = true; break; } } } // Jika tidak memenuhi syarat if ( ! $compatible_php || ! $ioncube_loaded ) { if ( is_admin() && current_user_can('manage_options') ) { add_action('admin_notices', function() use ($php_version, $required_php, $ioncube_loaded, $compatible_php) { $required_text = !empty($required_php) ? implode('.x, ', $required_php) . '.x' : '>= ' . config_data()['php_default']; echo '<div class="notice notice-error"><p><strong style="color:red">Server Requirements Warning</strong><br>' . wp_get_theme()->Name . ' Theme belum dapat digunakan karena memerlukan <b style="color:green">PHP ' . $required_text . '</b> dan ekstensi <b style="color:green">IonCube Loader</b>.</p><p>'; if ( ! $compatible_php ) { echo '<span class="dashicons dashicons-no-alt" style="color:red"></span> Server Anda menggunakan PHP ' . $php_version . '<br>'; } else { echo '<span class="dashicons dashicons-yes" style="color:green"></span> Server Anda sudah menggunakan PHP ' . $php_version . '<br>'; if ( ! $ioncube_loaded ) { echo '<span class="dashicons dashicons-no-alt" style="color:red"></span> Ekstensi IonCube Loader belum diaktifkan<br>'; } } echo '</p><p>Silakan lakukan perubahan melalui control panel hosting/server Anda. Anda juga dapat menghubungi penyedia hosting untuk membantu melakukan perubahan tersebut.</p></div>'; }); } if ( ! is_admin() ) { add_action('template_redirect', function() { echo '<link rel="preconnect" href="https://fonts.gstatic.com">'; echo '<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">'; echo ' <div style="text-align:center;max-width:700px;margin:40px auto;font-family:Roboto;font-size: 16px;"> <h1 style="margin:0;font-weight:700">WEBSITE BELUM SIAP!</h1> <p><img src="'. get_template_directory_uri() .'/images/maintenance.gif"></p> <p>Maaf, website kami belum siap saat ini. Silahkan kunjungi lagi nanti, terima kasih :-)</p> <p style="font-size:12px">Jika Anda adalah admin website ini, silahkan login <a href="'. get_bloginfo('url') .'/wp-admin/themes.php"><u>disini</u></a></p> </div>'; exit; }); } } else { ob_start(); // Semua syarat terpenuhi, load required file require_once dirname(__FILE__) . '/functions/actions.php'; require_once dirname(__FILE__) . '/functions/configuration.php'; require_once dirname(__FILE__) . '/functions/en/locked.php'; if (isset($_GET['activated']) && is_admin()) { wp_safe_redirect(admin_url('admin.php?page=verifikasi-oketheme')); exit; } }