WordPress Code Snippets
Membatasi Akses ke Halaman Admin
Deskripsi: Membatasi akses ke halaman admin WordPress. Apabila ada yang mencoba mengaksesnya maka (dalam kasus ini) akan diarahkan ke halaman /blog. Selain itu, ketika meminta perubahan password, maka skrip ini tidak akan dieksekusi.
Tipe: Security
Fungsi: PHP
Lokasi: functions.php
PHP//Membatasi akses "/wp-admin dan" "/wp-login.php"
add_action('init', 'restrict_access_to_admin');
function restrict_access_to_admin() {
// Cek apakah user sedang mencoba mengakses wp-login.php atau wp-admin
if ((strpos($_SERVER['REQUEST_URI'], '/wp-admin') !== false ||
strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false ||
strpos($_SERVER['REQUEST_URI'], '/dashboard') !== false) &&
!is_user_logged_in() &&
!isset($_POST['wp-submit'])) {
if (isset($_GET['action']) && in_array($_GET['action'], array('logout', 'rp', 'resetpass', 'lostpassword'))) {
return;
}
// Pengecualian untuk token reset password (key & login parameters)
if (isset($_GET['key']) && isset($_GET['login'])) {
return;
}
// Pengecualian untuk AJAX requests
if (defined('DOING_AJAX') && DOING_AJAX) {
return;
}
// Redirect ke halaman utama atau halaman login kustom
wp_redirect(home_url('/blog/'));
exit;
}
}
Gambar Avatar tanpa Gravatar
Deskripsi: Mengubah gambar avatar WordPress tanpa melalui Gravatar menggunakan Meta Box AIO. Anda harus membuat sebuah custom field dan pilih Single image. Lalu pastikan lokasinya di User. Versi video Cara Mengganti Foto Avatar WordPress dengan Meta Box AIO
Tipe: Style
Fungsi: PHP
Lokasi: functions.php
PHPadd_filter( 'get_avatar_url', 'ganti_foto_avatar', 10, 3 );
function ganti_foto_avatar( $url, $id_or_email, $args ) {
if ( is_numeric( $id_or_email ) ) {
$user_id = $id_or_email;
} elseif ( is_string( $id_or_email ) && ( $user = get_user_by( 'email', $id_or_email ) ) ) {
$user_id = $user->ID;
} elseif ( is_object( $id_or_email ) && ! empty( $id_or_email->user_id ) ) {
$user_id = (int) $id_or_email->user_id;
}
if ( empty( $user_id ) ) {
return $url;
}
$custom_avatar = rwmb_meta( 'custom_avatar', [ 'object_type' => 'user' ], $user_id );//Sesuaikan 'custom_avatar' dengan ID Single image yang Anda buat.
if ( ! $custom_avatar ) {
return $url;
}
$url = $custom_avatar['full_url'];
return $url;
}
Ubah Judul Komentar
Deskripsi: Mengubah judul formulir komentar bawaan WordPress menjadi yang diinginkan. Silakan ganti 'Mari berdiskusi' sesuai keinginan Anda.
Tipe: Core
Fungsi: PHP
Lokasi: functions.php
PHP//Ganti judul komentar
add_filter('comment_form_defaults', 'ganti_judul_komentar', 20);
function ganti_judul_komentar( $defaults ){
$defaults['title_reply'] = __('Mari berdiskusi', 'customizr-child');
return $defaults;
}
Menghapus Kolom URL
Deskripsi: Menghapus kolom URL atau website pada kolom komentar WordPress.
Versi Video => Cara Menyembunyikan Kolom URL pada Komentar WordPress
Tipe: Core
Fungsi: PHP
Lokasi: functions.php
PHP//Hapus kolom situs web
add_action( 'after_setup_theme', 'hapus_url_komentar' );
function tu_add_comment_url_filter() {
add_filter( 'comment_form_default_fields', 'hapus_url_komentar', 20 );
}
function hapus_url_komentar($fields) {
unset($fields['url']);
return $fields;
}
Sembunyikan Admin Bar
Deskripsi: Menyembunyikan WordPress admin bar untuk pengguna yang memiliki role selain dari Administrator
Tipe: Core
Fungsi: PHP
Lokasi: functions.php
PHPadd_action('after_setup_theme', 'remove_admin_bar_for_non_admin');
function remove_admin_bar_for_non_admin() {
if (!current_user_can('administrator') && !is_admin()) {
show_admin_bar(false);
}
}
GeneratePress/GenerateBlocks CSS Variable
Deskripsi: Rendering CSS variable pada block editor WordPress untuk GeneratePress/GenerateBlocks
Tipe: Style
Fungsi: PHP
Lokasi: functions.php
PHP//Bikin CCS Variable kebaca di editor
add_filter('generate_editor_styles', function($editor_styles) {
$editor_styles[] = '/style.css';
return $editor_styles;
}, 50);
Memindahkah Kolom Komentar
Deskripsi: Memindahkan kolom komentar dari atas ke bagian paling bawah.
Tipe: Core
Fungsi: PHP
Lokasi: functions.php
PHP//Mindahin kolom komentar ke bawah
function mindahin_kolom_komentar_ke_bawah( $fields ) {
$comment_field = $fields['comment'];
unset( $fields['comment'] );
$fields['comment'] = $comment_field;
return $fields;
}
add_filter( 'comment_form_fields', 'mindahin_kolom_komentar_ke_bawah');
Menghapus wp-block-library
Deskripsi: Menghapus script wp-block-library dan wp-block-library-theme pada frontend.
Tipe: Performance
Fungsi: PHP
Lokasi: functions.php
PHPfunction hapus_wp_block_library(){
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
}
add_action( 'wp_enqueue_scripts', 'hapus_wp_block_library', 100 );
Menonaktifkan Power Words
Deskripsi: Menonaktifkan parameter power words plugin Rank Math pada editor post
Tipe: Performance
Fungsi: PHP
Lokasi: functions.php
PHPadd_filter('rank_math/researches/tests', function ($tests, $type) {
unset($tests['titleHasPowerWords']);
return $tests;
}, 10, 2 );
Nonaktifkan Judul Sentimen
Deskripsi: Menonaktifkan parameter kata sentimen plugin Rank Math pada judul postingan di editor post.
Tipe: Performance
Fungsi: PHP
Lokasi: functions.php
PHPadd_filter('rank_math/researches/tests', function ($tests, $type) {
unset($tests['titleSentiment']);
return $tests;
}, 10, 2 );
Nonaktifkan Parameter AI
Deskripsi: Menonaktifkan parameter AI Rank Math pada editor post.
Tipe: Performance
Fungsi: PHP
Lokasi: functions.php
PHPadd_filter('rank_math/researches/tests', function ($tests, $type) {
unset($tests['hasContentAI']);
return $tests;
}, 10, 2);
Ganti Logo Halaman Login
Deskripsi: Mengganti logo pada halaman login WordPress default
Tipe: Style
Fungsi: PHP
Lokasi: functions.php
PHPfunction ganti_logo_halaman_login() {
// Menggunakan URL gambar langsung
$logo_url = get_custom_logo() ? wp_get_attachment_image_url(get_theme_mod('custom_logo'), 'full') : 'URL_LENGKAP_KE_MEDIA_LOGO';
?>
body.login div#login h1 a {
background-image: url();
background-size: contain;
width: 100%;
height: 80px; /* Sesuaikan tinggi logo */
}
<?php
}
add_action( 'login_enqueue_scripts', 'ganti_logo_halaman_login' );
Ganti Judul Hasil Pencarian GeneratePress
Deskripsi: Mengganti teks "Search Results for" menjadi "Hasil pencarian untuk" pada tema GeneratePress
Tipe: Style
Fungsi: PHP
Lokasi: functions.php
PHPfunction judul_hasil_pencarian( $items) {
if ( is_search() ) {
$items = str_replace( "Search Results for", "Hasil pencarian untuk", $items );
}
return $items;
}
add_filter( 'generate_search_title_output', 'judul_hasil_pencarian', 9999, 2 );
Batasi Jumlah Karakter Judul
Deskripsi: Membatasi jumlah karakter judul pada halaman depan dan halaman arsip postingan.
Tipe: Core
Fungsi: PHP
Lokasi: functions.php
PHPfunction jumlah_karakter_judul( $title ) {
// Cek apakah ini halaman archive atau frontpage
if ( is_archive() || is_front_page() ) {
// Tentukan panjang maksimal judul
$max_length = 60;
// Cek apakah panjang judul lebih dari batas maksimal
if ( strlen( $title ) > $max_length ) {
// Batasi jumlah karakter judul dan tambahkan …
$newTitle = substr( $title, 0, $max_length );
return $newTitle . " …";
}
}
return $title; // Jika bukan halaman archive atau frontpage, kembalikan judul seperti biasa
}
add_filter( 'the_title', 'jumlah_karakter_judul', 10, 1 );