Pilot
Sebetulnya, sewaktu pertama kali melihat WordPress ditahun 2005an, saya melihatnya sama sekali tidak tertarik. Dan kemudian pindah kerja sebagai web admin di tahun 2010an akhirnya pakai juga WordPress yang akhirnya sampai dibulan ini, November 2019 memutuskan untuk memilih CMS lain, yaitu Grav, hehehe. Tapi karena saat ini sudah mensosialisasikan kemana-mana kalau mau buat website, pakai yang mudah aja, pakai WordPress, ya sudah, akhirnya masih menangani website-website yang masih menggunakan WordPress. Dan berikut beberapa yang bisa saya bagi tips n tricknya yang semoga bisa bermanfaat.
Halaman ini berisi script² yang biasa saya gunakan dalam rangka mengkustom WordPress sesuai dengan keinginan tanpa harus menginstall plugins.
Menyembunyikan Plugin Dari Plugin List
Misalkan kita ingin menyembunyikan plugin akismet, copy paste code dibawah ini di functions.php theme anda:
/**
* Menyembunyikan Plugin Dari Plugin List
*/
function hideplugin() {
global $wp_list_table;
$hidearr = array('akismet/akismet.php');
$hideakismet = $wp_list_table->items;
foreach ($hideakismet as $key => $val) {
if (in_array($key,$hidearr)) {
unset($wp_list_table->items[$key]);
}
}
}
add_action('pre_current_active_plugins', 'hideplugin');Yang perlu diperhatikan adalah pada akismet/akismet.php. Yang dipanggil awal adalah nama foldernya dan kemudian nama file yang mengidentifikasi plugin tersebut, mudahnya adalah dimana didalamnya ada baris Plugin Name:. Karena kadang ada plugin yang menggunakan namaplugin.php atau init.php atau yang lainnya. OK, selamat mencoba.
Buka Visit Site Ditab Baru
Saat kita login ke dashboard, disebelah logo wordpress tertera nama website kita dan kalau kita klik disana ada menu Visit Site dan kalau kita klik maka akan langsung diarahkan ke frontpage website kita. Terkadang, kita inginnya tetap berada dimenu dashboard tapi sambil melihat halaman depan. Berikut kodenya agar ketika klik Visit Site tapi dibuka pada tab baru dan bukannya menimpa tab yang sedang kita sedang buka.
/**
* Buka Visit Site Ditab Baru
*/
function visit_site_admin_bar_on_new_tab( $wp_admin_bar ) {
$node = $wp_admin_bar->get_node('view-site');
$node->meta['target'] = '_blank';
$wp_admin_bar->add_node($node);
}
add_action( 'admin_bar_menu', 'visit_site_admin_bar_on_new_tab', 80 );Update at: Selasa, 15 Dzulhijjah 1444 15.25 / 4 Juli 2023
Ternyata script diatas berhasil tetapi menghasilkan error jika kita membuka frontpage. Setelah mencari-cari, ada script serupa, Open Admin View Site in New Tab di direktori plugins WordPress tetapi tidak memberikan output error di frontpage.
/**
* Buka Visit Site Ditab Baru
*/
function visit_site_admin_bar_on_new_tab( $wp_admin_bar ) {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
$wp_admin_bar -> add_node([
'parent' => 'site-name',
'id' => 'view-site',
'href' => home_url( '/' ),
'meta' => [
'target' => '_blank',
'class' => 'external_link'
]
]);
}
add_action( 'admin_bar_menu', 'visit_site_admin_bar_on_new_tab', 80 );
function visit_site_new_tab_styles() {
echo '<style>#wpadminbar .quicklinks .menupop ul li.external_link .ab-item:before {content: "\f504";}</style>';
}
add_action('admin_print_styles', 'visit_site_new_tab_styles');Menonaktifkan WP Emoji
WordPress secara default mengaktifkan emoji untuk website kita. Tapi kadang kita tidak membutuhkannya karena kita tidak menggunakan emoji pada artikel atau komentar. Dan ya bisa membantu dikit-dikit lah untuk mempercepat loading web, xixixi.
Berikut kodenya untuk diterapkan di functions.php:
/**
* Menonaktifkan WP Emoji
*/
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );Tapi kalau ingin mematikan emoji secara totalitas pada website, xixixi, bisa menggunakan kode yang kita ambil dari plugin Disable Emoji yang tentunya bisa kita terapkan di functions.php, kodenya yaitu:
/**
* Disable the emoji's
*/
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );
/**
* Menonaktifkan emoji di tinymce
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
/**
* Menonaktifkan emoji CDN dari DNS prefetching.
*/
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
/** This filter is documented in wp-includes/formatting.php */
$emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}Post Thumbnail di WordPress Admin Post
Script dibawah ini untuk menampilkan feature image yang digunakan oleh post dan ditampilkan di halaman wordpress admin post,
/**
* Post Thumbnail di WordPress Admin Post
*/
add_image_size( 'kloningspoon-admin-post-featured-image', 120, 120, false );
// Add the posts and pages columns filter. They can both use the same function.
add_filter('manage_posts_columns', 'kloningspoon_add_post_admin_thumbnail_column', 2);
add_filter('manage_pages_columns', 'kloningspoon_add_post_admin_thumbnail_column', 2);
// Add the column
function kloningspoon_add_post_admin_thumbnail_column($kloningspoon_columns){
$kloningspoon_columns['kloningspoon_thumb'] = __('Featured Image');
return $kloningspoon_columns;
}
// Let's manage Post and Page Admin Panel Columns
add_action('manage_posts_custom_column', 'kloningspoon_show_post_thumbnail_column', 5, 2);
add_action('manage_pages_custom_column', 'kloningspoon_show_post_thumbnail_column', 5, 2);
// Here we are grabbing featured-thumbnail size post thumbnail and displaying it
function kloningspoon_show_post_thumbnail_column($kloningspoon_columns, $kloningspoon_id){
switch($kloningspoon_columns){
case 'kloningspoon_thumb':
if( function_exists('the_post_thumbnail') )
echo the_post_thumbnail( 'kloningspoon-admin-post-featured-image' );
else
echo 'hmm... your theme doesn\'t support featured image...';
break;
}
}source: crunchify
Merubah Urutan Spesifik Kolom Dihalaman Admin Post
Script ini bisa bersinambungan dengan script diatas, feature image akan Tamil pada Admin Post tetapi setelah tanggal. Dalam hal ini saya ingin agar feature image tampil dial, yaitu sebelum judul.
/**
* Change The Order for Specific Column
*/
function move_columns_kloningspoon_thumb($defaults) {
$new = array();
$column = $defaults['kloningspoon_thumb']; // save the kloningspoon_thumb column
unset($defaults['kloningspoon_thumb']); // remove it from the columns list
foreach($defaults as $key=>$value) {
if($key=='title') { // when we find the title column
$new['kloningspoon_thumb'] = $column; // put the kloningspoon_thumb column before it
}
$new[$key]=$value;
}
return $new;
}
add_filter('manage_posts_columns', 'move_columns_kloningspoon_thumb'); source: stackexchange







