Catatan Perjalanan Jimmy Ahyari

Modifikasi Dashboard WordPress

Anda para pengguna WordPress, pasti kenal betul dengan yang namanya dashboard. Dashboard merupakan bagian terpenting dan paling penting di blog bermesin WordPress. Bisa Anda bayangkan, apa jadinya bila Anda tidak bisa masuk ke dashboard? Dashboard-lah tempat Anda menulis artikel (Add New Post), merubah tema (Themes), merubah elemen tema (theme editor) sampai ke pengaturan Permanent Link (Permalink) dll. Nah, tahukah Anda bahwa kita juga bisa merubah tampilan dashboard blog WordPress kita?

Ok. Tulisan kali ini akan membahas tentang beberapa teknik (kalau boleh dibilang teknik) bagi Anda yang mengerti atau yang sudah bosan mengotak-atik tema kayak saya πŸ˜› ingin memodifikasi Dashboard WordPress Anda. Berikut di antaranya:

Menghilangkan Menu Dashboard

Benar! Anda bisa menghilangkan beberapa menu standar pada dashboard WordPress. Ingat, jangan semuanya dihilangkan, entar malah binggung sendiri =)) Loh? Mengapa dihilangkan? Begini, biasanya Saya menggunakan teknik ini pada beberapa klien Saya yang tidak ingin dipusingkan dengan settingan-settingan aneh. Sehingga, sebelum Saya hilangkan, Saya mengaturnya sedemikian rupa agar blog klien Saya itu beroperasi maksimal (baik dalam SEO, maupun dalam hal tampilan). Keuntungannya, menghilangkan beberapa menu seperti Appearance akan menghindarkan klien Saya dari kesalahan tanpa disengaja. Misalnya perubahan kode-kode *.php atau tag-tag html pada tema yang digunakan melalui Theme Editor. Maka dari itu, klien Saya meminta untuk dihilangkan saja. Berhubung klien adalah Raja, jadi ya Saya kabulkan saja πŸ™‚

Cara menghilangkan Menu Dashboard? Biar gampang, silakan copy-paste kode di bawah ini ke dalam file functions.php dari tema yang Anda gunakan.

function remove_menus () {

global $menu;

$restricted = array(__('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));

end ($menu);

while (prev($menu)){

$value = explode(' ',$menu[key($menu)][0]);

if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}

}

}

add_action('admin_menu', 'remove_menus');

Kode di atas akan menghilangkan menu Posts, Media, Link, Pages, Appearance, Tools, Users, Settings, Comments dan Plugins. Semua nama menu yang ada pada $restricted, akan hilang. Jika ingin menghilangkan menu plugins, cukup kode __('Plugins') yang ada setelah $restricted. Begitu seterusnya.

Merubah Logo saat Login

Kebanyakan klien Saya lebih menyukai logo perusahaan mereka yang terpasang saat login, bukan logo WordPress. Merubahnya? Silakan copy-paste kode berikut di functions.php

function my_custom_login_logo() {

echo '<style>

h1 a { background-image:url('.get_bloginfo('template_directory').'/images/logo-yang-anda-inginkan.gif) !important; }

</style>';

}

add_action('login_head', 'my_custom_login_logo');

Kalau tidak mau repot, silakan gunakan plugin Custom Admin Branding (kalau Saya sih suka cara yang ribet, sekalian belajar. Yah, setidaknya tahu πŸ˜‰ )

Mengganti Logo di Dashboard

Sekali lagi, kebanyakan perusahaan akan lebih senang jika logo mereka yang tampil di dashboard, bukan logo β€œW” (banyak maunya ini perusahaan πŸ˜› ). Mengantinya? Silakan copy-paste kode berikut di functions.php

add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {

echo '<style>

#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/logo-yang-anda-inginkan.gif) !important; }</style>';

}

Menghilangkan Pesan β€œPlease Upgrade Now”

Silakan copy-paste kode berikut di functions.php

if ( !current_user_can( 'edit_users' ) ) {

add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );

add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );

}

Saran Saya sih tidak usah dihilangkan, karena ini penting. WordPress terbaru biasanya tingkat keamanannya lebih tinggi. Juga agar Mencegah WordPress Anda diincar Hacker. Tapi kalau cuma ingin coba-coba, monggo πŸ™‚

Memonitor Server di Dashboard WordPress

Asikkan kalau kita bisa memonitor server dari dashboard? Kan ga seru kalau kita ingin melihat pesan error (error log) harus login lagi ke CPanel. Copy-Paste aja kode berikut ke functions.php

function slt_PHPErrorsWidget() {

$logfile = '/home/path/logs/php-errors.log'; // Masukkan alamat file error log Anda di sini

$displayErrorsLimit = 100; // Jumlah error maksium yang ingin ditampilkan

$errorLengthLimit = 300; // Jumlah karakter maksium yang ingin ditampilkan dalam pesan error

$fileCleared = false;

$userCanClearLog = current_user_can( 'manage_options' );

// Clear file?

if ( $userCanClearLog && isset( $_GET["slt-php-errors"] ) && $_GET["slt-php-errors"]=="clear" ) {

$handle = fopen( $logfile, "w" );

fclose( $handle );

$fileCleared = true;

}

// Read file

if ( file_exists( $logfile ) ) {

$errors = file( $logfile );

$errors = array_reverse( $errors );

if ( $fileCleared ) echo '<p><em>File cleared.</em></p>';

if ( $errors ) {

echo '<p>'.count( $errors ).' error';

if ( $errors != 1 ) echo 's';

echo '.';

if ( $userCanClearLog ) echo ' [ <b><a href="'.get_bloginfo("url").'/wp-admin/?slt-php-errors=clear" onclick="return confirm('Are you sure?');">CLEAR LOG FILE</a></b> ]';

echo '</p>';

echo '<div id="slt-php-errors" style="height:250px;overflow:scroll;padding:2px;background-color:#faf9f7;border:1px solid #ccc;">';

echo '<ol style="padding:0;margin:0;">';

$i = 0;

foreach ( $errors as $error ) {

echo '<li style="padding:2px 4px 6px;border-bottom:1px solid #ececec;">';

$errorOutput = preg_replace( '/[([^]]+)]/', '<b>[$1]</b>', $error, 1 );

if ( strlen( $errorOutput ) > $errorLengthLimit ) {

echo substr( $errorOutput, 0, $errorLengthLimit ).' [...]';

} else {

echo $errorOutput;

}

echo '</li>';

$i++;

if ( $i > $displayErrorsLimit ) {

echo '<li style="padding:2px;border-bottom:2px solid #ccc;"><em>lebih dari '.$displayErrorsLimit.' errors di dalam file log...</em></li>';

break;

}

}

echo '</ol></div>';

} else {

echo '<p>Tidak ada error yang tercatat.</p>';

}

} else {

echo '<p><em>Ups.. ada kesalahan dalam membaca file error log.</em></p>';

}

}

// Tambahkan widgets

function slt_dashboardWidgets() {

wp_add_dashboard_widget( 'slt-php-errors', 'PHP errors', 'slt_PHPErrorsWidget' );

}

add_action( 'wp_dashboard_setup', 'slt_dashboardWidgets' );

Asik kan? πŸ˜€

Ingat! Sebelum melakukan modifikasi Dashboard, backup terlebih dahulu. Saya tidak bertanggung jawab loh =)) Kalau Saya mencoba di localhost dulu πŸ™‚

Oke, segitu dulu.. Capek nulisnya πŸ˜€