15 Tips dan Trik File functions.php pada WordPress

You are currently viewing 15 Tips dan Trik File functions.php pada WordPress

File functions.php adalah file yang secara default ada pada setiap tema WordPress yang kamu gunakan. Dengan file ini, kamu dapat menambahkan sendiri banyak fungsi tambahan pada sebuah situs WordPress tanpa harus menggunakan plugin. Pada artikel kali ini, kita akan melihat 15 tips dan trik yang bisa kamu lakukan dengan file functions.php.

Berdasarkan penjabaran dari WordPress Codex, file functions.php dapat dijelaskan sebagai berikut:

The functions file behaves like a WordPress Plugin, adding features and functionality to a WordPress site. You can use it to call functions, both PHP and built-in WordPress, and to define your own functions. You can produce the same results by adding code to a WordPress Plugin or through the WordPress Theme functions file.

Jadi file functions.php kurang lebih sama dengan plugin di mana kamu bisa menggunakannya untuk menambahkan satu fitur atau fungsi ke dalam sebuah situs WordPress, keduanya bahkan menghasilkan output yang sama.

Itulah sebabnya banyak blogger yang senang menambahkan fitur dan fungsi yang tidak ada pada instalasi default WordPress secara manual dibanding harus memasang plugin yang mereka ragukan tingkat keamanannya.

Di mana saya bisa menemukan file functions.php?

Cara paling mudah untuk menemukan file functions.php adalah melalui dashboard WordPress. Cukup masuk ke menu Tampilan » Editor dan cari file functions.php pada sidebar paling kanan.

Bila kamu memilih file ini, akan muncul text editor yang memperlihatkan isi dari file functions.php dan kamu bisa menambahkan kode baru pada file tersebut langsung pada text editor yang tersedia. Setelah selesai, jangan lupa untuk menyimpan perubahan yang sudah kamu lakukan dan lihat hasilnya.

Selain cara di atas, kamu juga bisa mencari file function.php melalui cpanel. Cukup masuk ke cpanel » File Manager, lalu masuk ke alamat berikut:

public_html\wp-content\themes\nama-tema

Setiap tema memiliki file functions.php-nya sendiri-sendiri, dan perubahan yang kamu lakukan pada file functions.php dari sebuah tema tidak akan mempengaruhi tema yang lainnya (kecuali kamu menggunakan child theme), jadi pastikan kamu memilih folder tema yang kamu gunakan.

CATATAN: Sebelum menambahkan kode pada file functions.php, ada baiknya kamu membuat child theme terlebih dahulu atau mengunakan plugin code snippet agar kesalahan penulisan kode tidak berakibat fatal. Selain itu, cara ini dapat memastikan perubahan yang dilakukan tidak hilang bila kamu mengupdate tema WordPress.

Setelah kamu mengetahui letak file functions.php, saatnya kita melihat 15 hal keren yang bisa kamu lakukan dengan file tersebut.

1. Mengganti avatar default WordPress

Meninggalkan komentar pada sebuah blog WordPress caranya sangatlah mudah, karena kamu hanya perlu mengisi data berupa nama dan email serta alamat website (optional).

Menariknya, meski tidak ada opsi untuk mengupload gambar, laman komentar WordPress akan memberikan satu gambar sebagai avatar kamu. Bila kamu memiliki akun gravatar, maka kamu bisa menggunakan avatar dengan gambar yang sudah kamu pilih, bila tidak maka WordPress akan memberikan kamu satu avatar default sebagai penggantinya.

Avatar default ini dapat dengan diganti dengan gambar pilihan kamu sendiri dengan menambahkan kode berikut pada file functions.php;

add_filter( 'avatar_defaults', 'custom_avatar' );
 
function custom_avatar ($avatar_defaults) {
 $myavatar = "https://bisablog.com/wp-content/uploads/2017/08/custom-gravatar.png";
 $avatar_defaults[$myavatar] = "My Custom Avatar";
 return $avatar_defaults;
}

Untuk lebih lengkapnya, kamu bisa melihat tutorial cara mengganti avatar default WordPress.

2. Membuat Random Custom Avatar

Selain memberikan gambar statis sebagai avatar, kamu juga bisa memberikan gambar acak kepada pengunjung yang berkomentar. Opsi ini secara default sudah ada pada WordPress, namun memiliki gambar acak kamu sendiri tentu akan terlihat lebih keren bukan?

Untuk melakukannya, kamu bisa menambahkan kode ini ke dalam file functions.php dengan terlebih dahulu mengupload gambar yang akan kamu gunakan sebagai avatar.

add_filter( 'pre_option_avatar_default', 'random_avatar' );
 
function random_avatar ( $value ){
 return get_stylesheet_directory_uri() . '/custom-avatar/bisablog-custom-avatar-'.rand( 1 , 9 ).'.png';
}

Untuk lebih lengkapnya, kamu bisa melihat tutorial random custom avatar. Hasil jadinya bisa kamu lihat di laman komentar bisablog.com yang akan memberikan kamu satu gambar unik bila kamu meninggalkan komentar di salah satu artikelnya.

3. Mengganti Logo WordPress pada laman Login

Untuk dapat masuk ke dashboard WordPress, cara yang paling umum adalah dengan mengaksesnya melalui link 'wp-admin' atau 'wp-login.php'.

Bila kamu masuk melalui salah satu link tersebut, akan ada kotak isian nama dan password yang harus kamu isi agar bisa login ke dalamnya. Satu hal lain yang cukup menonjol pada laman login WordPress ini adalah adanya logo khas WordPress di bagian atasnya.

Untuk mengubah logo tersebut, cukup tambahkan kode ini ke dalam file functions.php:

function custom_login_logo() {
   echo '<style type="text/css">
     h1 a {background-image: url(' . get_template_directory_uri() . '/logo.png) !important;}
   </style>';
}
add_action('login_head', 'custom_login_logo');

Selain mengganti logonya, kamu juga bisa mengganti link dan tooltip yang ada pada pada logo tersebut. Untuk lebih jelasnya, kamu bisa melihat tutorial cara mengganti logo WordPress pada laman login.

4. Mengubah Waktu Publikasi Pos pada RSS Feed

Tips yang satu ini akan memberikan delay pada pos yang dipublikasikan melalui RSS Feed. Adanya jarak waktu publikasi pos antara situs dan RSS memberi banyak manfaat seperti adanya waktu untuk memperbaiki kesalahaan pada penulisan pos atau untuk memberi waktu pada bot mesin pencari untuk mengindeks konten yang ada pada website kamu terlebih dahulu.

Untuk menggunakan kode ini, cukup ubah nilai variabel $wait dan $device dengan rentang waktu yang kamu inginkan.

function delay_rss_feed($where) {
    global $wpdb;
    
    if ( is_feed() ) {
        $now = gmdate('Y-m-d H:i:s'); // Timestamp in WordPress format
        $wait = '10'; // Integer
        $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
        $where.= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; // Add SQL syntax to default $where
    }
    return $where;
}
add_filter('posts_where', 'delay_rss_feed');

5. Menonaktifkan RSS Feed pada WordPress

Content scrapping adalah salah satu hal yang sangat ditakutkan banyak pemilik blog karena mereka dapat mengambil konten yang ada pada website kamu secara cepat dan otomatis. Satu sumber yang banyak digunakan oleh mereka adalah RSS Feed, karena itulah ada beberapa blogger yang memilih untuk menonaktifkan RSS Feed dan memilih email sebagai sarana untuk memberitahu pelanggan mereka mengenai info/pos terbaru.

Untuk melakukannya secara manual menggunakan file functions.php, kamu bisa menggunakan kode berikut ini.

function blog_disable_feed() {
 wp_die( __( 'No feed available, please visit the <a href="'. esc_url( home_url( '/' ) ) .'">homepage</a>!' ) );
}

add_action('do_feed', 'blog_disable_feed', 1);
add_action('do_feed_rdf', 'blog_disable_feed', 1);
add_action('do_feed_rss', 'blog_disable_feed', 1);
add_action('do_feed_rss2', 'blog_disable_feed', 1);
add_action('do_feed_atom', 'blog_disable_feed', 1);
add_action('do_feed_rss2_comments', 'blog_disable_feed', 1);
add_action('do_feed_atom_comments', 'blog_disable_feed', 1);

6. Mengubah Panjang Kutipan pada WordPress

Secara default WordPress akan membatasi kutipan (excerpt) menjadi sepanjang 55 kata saja. Bila kamu ingin mengubahnya, cukup ubah angka pada kode di bawah ini dan letakan kode tersebut pada file functions.php.

function new_excerpt_length() {
  return 55;
}
add_filter('excerpt_length', 'new_excerpt_length');

7. Menambahkan User Baru pada WordPress via FTP

Kode ini akan sangat berguna bila kamu tidak bisa mengakses dasbor WordPress, entah karena error, akun yang tidak sengaja terhapus, ataupun karena adanya serangan hacker. Namun untuk melakukannya, kamu harus memiliki akses dan mampu membuka file functions.php secara manual, baik melalui cpanel atau FTP Client seperti Filezilla.

Setelah itu ubah variabel $user, $pass, dan $emailpada kode di bawah ini dengan identitas baru lalu simpan ke dalam file functions.php.

function admin_account(){
  $user = 'Username';
  $pass = 'Password';
  $email = 'email@domain.com';
  if ( !username_exists( $user )  && !email_exists( $email ) ){
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'administrator' );
  }
}
add_action('init','admin_account');

Setelah kamu bisa mengakses dasbor admin, jangan lupa untuk menghapus kode tersebut.

8. Menghapus Toolbar Admin

Toolbar WordPress adalah area di atas situs WordPress yang dapat dilihat ketika kamu mengakses situs tersebut dalam keadaan login. Meskipun keberadaannya cukup membantu, banyak user yang menonaktifkan fitur ini karena toolbar admin kerap menggangu penggunanya ketika sedang melihat atau memeriksa situs WordPress yang mereka miliki.

Meski bisa dihilangkan melalui menu pengaturan yang ada pada dasbor WordPress, kamu juga bisa menghilangkan toolbar admin melalui file functions.php dengan menambahkan kode berikut ini.

add_filter('show_admin_bar', '__return_false');

9. Mengaktifkan atau Menonaktifkan XML-RPC

XML-RPC atau XML Remote Procedure Call, adalah protokol yang mengatur prosedur pemanggilan jarak jauh menggunakan HTTP dan data berbentuk XML. Metode ini memungkinkan layanan pihak ke-3 untuk dapat ‘berkomunikasi’ dengan sebuah situs WordPress. Namun sayangnya ada banyak celah pada XML-RPC yang bisa dimanfaatkan oleh hacker sehingga beberapa hosting menonaktifkan fitur ini.

Satu kekurangan bila kita menonaktifkan fitur ini adalah sulitnya untuk ‘menyambungkan’ WordPress dengan beberapa layanan seperti plugin Jetpack, IFTTT, atau software semacam Windows Live Writer. Untuk mengaktifkan XML-RPC pada WordPress, kita bisa menggunakan htaccess atau cukup dengan menambahkan kode berikut ke dalam file functions.php.

add_filter('xmlrpc_enabled', '__return_false');

10. Hapus Tulisan Versi WordPress

Bila kamu berada pada dashboard WordPress, lihat pada area pojok kanan bawah. Di situ kamu bisa melihat versi WordPress yang kamu gunakan saat ini. Bila kamu ingin menghapusnya, cukup tambahkan kode berikut pada file functions.php.

function hapus_versi_wordpress() {
  return '';
}
add_filter('the_generator', 'hapus_versi_wordpress');

Tidak hanya menghapus tulisan pada dasbor WordPress, kode di atas juga akan menyembunyikan versi WordPress yang kamu gunakan pada tempat lainnya seperti pada RSS.

11. Hapus Tulisan pada Footer Dasbor WordPress

Sekarang lihat pada area pojok kiri bawah pada dasbor WordPress. Di situ kamu bisa melihat footer WordPress dengan pesan ‘Thank you for creating with WordPress.’ Untuk mengubah tulisan tersebut, cukup tambahkan kode berikut ke dalam file functions.php.

function ubah_footer_dasbor_admin () {
  echo 'Created with Love by <a href="https://bisablog.com" target="_blank">bisablog</a>';
}
add_filter ('admin_footer_text', 'ubah_footer_dasbor_admin');

12. Menyembunyikan Error Login WordPress

Secara default, WordPress akan memunculkan pesan error ‘Something is wrong!’ bila kamu salah memasukan username dan password pada laman login. Pesan ini dapat kamu ubah dengan menambahkan kode ini ke dalam file functions.php. Jangan lupa untuk mengganti pesan pada baris ke-2 kode tersebut.

function pesan_error_wordpress() {
  return 'Ups, ada yang salah gan!';
}
add_filter ('login_errors', 'pesan_error_wordpress');

13. Menonaktifkan fitur pencarian pada WordPress

Bila karena satu hal kamu ingin menonaktifkan fitur pencarian pada sebuah website WordPress, kamu bisa melakukannya secara manual menggunakan kode berikut:

function disable_search ( $query, $error = true ) {
  if ( is_search() ) {
    $query->is_search = false;
    $query->query_vars[s] = false;
    $query->query[s] = false;
    // to error
    if ( $error == true )
    $query->is_404 = true;
  }
}
add_action( 'parse_query', 'disable_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

function remove_search_widget() {
    unregister_widget('WP_Widget_Search');
}
add_action( 'widgets_init', 'remove_search_widget' );

Kode ini akan mengarahkan semua hasil pencarian, baik secara langsung maupun tidak langsung, ke laman error 404. Selain itu kode ini juga akan menyembunyikan form pencarian pada situs WordPress.

14. Menunjukan Jumlah User yang Terdaftar pada Situs WordPress

Bila ada banyak user yang terdaftar pada situs kamu, ada cara untuk menampilkan jumlahnya pada WordPress dengan kode simpel berikut ini:

function blog_user_count(){
  $usercount = count_users();
  $result = $usercount['total_users'];
  return $result;
}
add_shortcode('user_count','blog_user_count');

Kode di atas akan membuat shortcode [user_count]yang bisa kamu gunakan pada laman, pos, atau widget untuk menampilkan jumlah user yang telah terdaftar.

15. Menambahkan Tipe File Yang Bisa Diunduh ke Situs WordPress

WordPress memberi kemudahan kepada penggunanya untuk dapat mengunggah file yang dibutuhkan secara langsung melalui dasbor WordPress. Namun sayangnya fitur ini hanya dapat digunakan pada file-file yang populer saja seperti file gambar (JPG, PNG, GIF), file dokumen (PDF, DOC), hingga file video (MP4, AVI, MPG). Daftar lengkapnya dapat kamu lihat di sini.

Bila kamu ingin mengupload file dengan ekstensi yang secara default tidak dapat dilakukan pada WordPress, kamu dapat menggunakan kode berikut:

function tambah_ekstensi_file($mime_types){
  $mime_types['svg'] = 'image/svg+xml'; //Menambahkan file dengan ekstensi SVG
  $mime_types['rar'] = 'application/rar';//Menambahkan file dengan ekstensi RAR
  return $mime_types;
}
add_filter('upload_mimes', 'tambah_ekstensi_file', 1, 1);

Pada contoh kode di atas, kita akan menambahkan support untuk file SVG dan RAR. Untuk menambahkan support pada file dengan ekstensi lainnya, kamu bisa menggunakan referensi berikut.

This Post Has 2 Comments

  1. hadi

    mau tanya gan, kenapa file functions.php di web saya setiap hari auto delete yah?

    1. Syafiq Salman

      Auto Delete maksudnya semua isinya kehapus atau cuma kode customnya saja yang kehapus? Btw habis update tema atau tidak yah? soalnya kode yang ditambahkan ke functions.php otomatis hilang kalau file temanya diupdate. Solusinya bisa pakai plugin untuk menambhakan kode tambahan tersebut.

Leave a Reply