Cara Membuat Multisite pada WordPress

Pada artikel kali ini saya akan membuat semuanya menjadi lebih jelas tentang apa itu WordPress Multisite, siapa yang perlu menggunakan WordPress multisite dan cara setup WordPress Multisite.

Mungkin banyak dari pengguna WordPress belum begitu tahu tentang apa itu WordPress Multisite dan juga mungkin hanya sering mendengar tapi belum tahu bagaimana memanfaatkan fitur WordPress ini karena memang WordPress multisite hanya diperuntukkan bagi pengembang, atau pengguna yang sudah memiliki pengetahuan lebih tentang WordPress.

Apa itu WordPress Multisite?

WordPress Multisite adalah fitur WordPress yang memungkinkan pengguna untuk menciptakan banyak situs dalam satu instalasi WordPress. Dengan ini Anda dapat memotong kebutuhan untuk menginstal WordPress beberapa kali.

Sebagai contoh, saya ingin membuat situs website berita dengan berbagai macam kategori yang dipisahkan seperti berita bisnis, olahraga, kesehatan, umum dll dengan tiap-tiap kategori tersebut dibedakan dengan nama sub domain seperti (bisnis.deczen.com, kesehatan.deczen.com).

Siapa yang perlu menggunakan WordPress Multisite?

  • Seorang pengusaha yang memiliki jaringan blog besar.
  • Organisasi pendidikan yang ingin menawarkan siswanya untuk membuat website jaringan mereka sendiri.
  • Sebuah pengembang website dengan banyak klien yang semua perlu situs mereka sendiri.
  • Sebuah majalah online atau berita online dengan beberapa tim dan bagian.
  • Pemerintah dengan berbagai departemen.
  • Sebuah bisnis nasional maupun global dengan banyak cabang yang membutuhkan website mereka sendiri.

 

Bagaimana cara setup WordPress Multisite?

Berikut adalah langkah – langkah yang perlu anda ikuti untuk membuat Multisite pada WordPress

1. Mengaktifkan Fitur Jaringan Multisite WordPress

Fitur jaringan Multisite sudah terdapat di dalamnya dengan setiap pemasangan WordPress. Yang perlu Anda lakukan hanyalah menginstal dan mengatur WordPress seperti biasanya. Setelah itu, Anda hanya perlu mengaktifkan fitur Multisite.

Sebelum anda mengaktifkan fitur Multisite, sebaiknya anda mem-backup atau mencadangkan file web anda terlebih dahulu. Untuk mengaktifkan Multisite, hubungkan ke situs Anda menggunakan FTP Client atau manajer file cPanel, dan buka file wp-config.php untuk meng-editnya.

Anda perlu menambahkan kode berikut ke file wp-config.php Anda tepat sebelum baris

/* That’s all, stop editing! Happy blogging. */

/* Multisite */
define ( 'WP_ALLOW_MULTISITE', true);
/* That’s all, stop editing! Happy blogging. */

2. Atur Jaringan Multisite WordPress Anda

Sebelum Anda melakukan itu, Anda perlu menonaktifkan semua plugin di situs WordPress Anda.

Kunjungi Plugins » Installed Plugins dan pilih semua plugin. Nonaktifkan terlebih dahulu semua plugin yang ada pada WordPress anda.

Anda sekarang dapat menuju ke halaman Tools » Network Setup untuk mengkonfigurasi jaringan multisite Anda.

Pada layar Network Setup, Anda akan melihat pemberitahuan bahwa Anda memerlukan modul mod_rewrite Apache yang diinstal di server Anda. Modul ini diinstal dan diaktifkan pada semua penyedia hosting WordPress terbaik.

Hal berikutnya yang perlu Anda lakukan adalah memberi tahu WordPress struktur domain seperti apa yang akan Anda gunakan untuk situs di jaringan Anda, misalnya. Subdomain atau Sub-direktori.

Setelah itu Anda perlu memberikan judul untuk jaringan Anda dan pastikan bahwa alamat email di email admin Jaringan sudah benar.

Terakhir, klik tombol instal untuk melanjutkan.

WordPress sekarang akan menampilkan beberapa kode yang perlu Anda tambahkan ke file wp-config.php dan .htaccess Anda.

Gunakan FTP client atau manajer file cPanel untuk menyalin dan menempelkan kode di kedua file ini.

Setelah itu Anda perlu login ke situs WordPress Anda lagi.

3. Mengkonfigurasi Network Setting

Setelah anda mengatur jaringan Multisite, sekarang saatnya untuk mengkonfigurasi pengaturan jaringan/ network setting.

Untuk melakukan itu, Anda perlu beralih ke ‘Network Dashboard’ untuk mengubah pengaturan jaringan, menambah situs baru, dan mengkonfigurasi pengaturan lain.

Klik pada Network Admin » Dashboard.

Cara Membuat Child Theme WordPress

Mengapa anda menggunakan child theme?

Membuat child theme adalah cara terbaik untuk menyesuaikan atau meng-custom tema WordPress. Ada satu alasan utama untuk itu: Anda tidak akan kehilangan penyesuaian apa pun saat Anda memperbarui tema induk! Jika Anda mengedit langsung file style.css atau functions.php dari tema Anda, pembaruan hanya akan menghapus semuanya.

Menjaga agar tema anda selalu diperbarui sangat disarankan karena akan menjamin keamanan yang optimal dan memperbaiki bug atau masalah kompatibilitas peramban.
Selain itu, menggunakan child theme adalah praktik pengembangan yang baik: dalam child theme anda, anda hanya fokus pada fungsi-fungsi yang ditambahkan, ada lebih sedikit file untuk diedit dan disimpan. Jika Anda kembali mencari ke kode anda yang telah diedit, jauh lebih mudah untuk mencari daripada harus masuk ke tema induk dan mencari semua kustomisasi anda di setiap template dan file php.

 

Bagaimana cara membuat child theme?

 

1) Metode pertama dengan akses ftp atau cpanel

Anda perlu membuat folder dan file. Dalam contoh ini, kita akan membuat child theme untuk tema twentyfifteen.

Buatlah folder dengan nama twentyfifteen-child kemudian didalam folder tersebut kita buat file style.css dan functions.php. Poin penting di sini adalah menulis nama parameter template induk (Template: twentyfifteen) dalam huruf kecil (sesuai tulisan yang ada).  Kemudian salin dan tempel kode berikut di dalam file style.css

/*
 Theme Name:     Twentyfifteen Child
 Theme URI:      http://mysite.com/
 Description:    My description
 Author:         Me
 Author URI:     http://mysite.com/
 Template:       twentyfifteen
 Version:        1.0.0
*/
2) Metode alternatif: dengan plugin (disarankan untuk pemula)

Anda dapat menggunakan plugin untuk membuat child-theme dalam satu klik. Ini berfungsi dengan baik dan tidak memerlukan coding atau transfer file.

  1. Unduh dan aktifkan plugin Childify Me
  2. Buka Penampilan> Sesuaikan. Di sana, Anda akan melihat tautan baru yang ditambahkan oleh plugin di footer deskripsi teks. Lihat gambar di bawah ini.
  3. Klik pada tombol Childify Me
  4. Beri nama child theme Anda
  5. Kembali ke Penampilan/ Appearance> tema, temukan child theme yang baru dibuat dan aktifkan. Selesai!

Saya sangat merekomendasikan metode ini untuk pemula karena sangat sederhana, aman dan cepat.
Catatan: Plugin Childify Me menciptakan file style.css dan function.php. Jika Anda ingin menambahkan fungsi kustom dalam file functions.php, folder / file baru, Anda dapat mengunggahnya dengan FTP untuk mengelola file Anda dengan mudah.

Mengatur Halaman Statis sebagai Homepage atau Halaman Utama

Secara umum, WordPress menampilkan posting terbaru Anda dalam urutan terbalik mulai dari postingan terdahulu di halaman depan situs Anda. Banyak pengguna WordPress menginginkan halaman depan statis atau halaman splash sebagai halaman depan. Tampilan “halaman depan statis” ini biasa terjadi bagi pengguna yang menginginkan informasi statis di halaman depan situs ini.

Tampilan halaman depan situs ini didasarkan pada pilihan pengguna yang dikombinasikan dengan fitur dan opsi Theme WordPress.

 

Ada empat model untuk tata letak dan struktur WordPress,

  1. Blog: Ini adalah format halaman depan tradisional dengan tulisan yang ditampilkan dalam urutan postingan.
  2. Static Front Page: Ini adalah model situs HTML statis tradisional dengan halaman depan tetap dan konten ditempatkan di Halaman, jarang jika menggunakan posting, kategori, atau tag.
  3. Static Front Page Plus Blog: Model ini menampilkan halaman depan statis sebagai perkenalan plus blog untuk mengelola posting. Halaman dapat digunakan untuk menyediakan konten seperti Kontak, Tentang Kami, dll.
  4. Dynamic Front Page: Kadang-kadang disebut model terintegrasi, desain situs dinamis memiliki halaman depan statis plus blog, namun halaman depan bersifat dinamis. Ini mungkin menampilkan kombinasi konten statis dan blog (Halaman dan posting).

 

Mengatur Halaman Statis sebagai Halaman Utama

Membuat halaman depan virtual statis tidak memerlukan pengeditan atau pengkodean file atau template. Menggunakan konfigurasi default untuk “halaman depan statis” di WordPress tidak menghapus sidebar atau mengubah tampilan keseluruhan situs, hanya area kontennya.

Untuk membuat halaman depan statis, masuk ke halaman Admin pada WordPress. Caranya sebagai berikut:

  1. Pada halaman dashboard admin WordPress pilih menu Setting (Pengaturan) klik menu Reading (bacaan).
  2. Pada bagian Front page displays  pilih pilihan   A static page
  3. Kemudian pada bagian Front page pilih halaman yang akan dijadikan sebagai Halaman Utama.
  4. Selanjutnya klik Simpan (Save Changes).

Membuat Menu di Halaman Admin pada WordPress

Membuat Menu di Halaman Admin pada WordPress – Pada halaman atau ruang admin di website yang menggunakan CMS WordPress terdapat banyak menu-menu disebelah kiri. Kita dapat menambahkan menu-menu sesuai keinginan.

Disini akan dijelaskan tutorial bagaimana cara menambahkan menu sekaligus halamannya pada ruang admin web WordPress.

Membuat Menu Admin pada WordPress

Langkah – langkah sebagai berikut :

  1. Buatlah tema-child pada themes yang digunakan, kemudian buatlah file functions.php atau bisa langsung ditempatkan pada file functions.php pada themes yang Anda gunakan.
  2. Kemudian tulis script dibawah ini kedalam file tersebut:
    // define menu & posisi halaman
    // action function for above hook</em>
    
    function mt_add_pages() {
    
    // Add a new top-level menu (ill-advised):
    add_menu_page(__('Test Toplevel','menu-test'), __('Test Toplevel','menu-test'), 'manage_options', 'mt-top-level-handle', 'mt_toplevel_page','dashicons-editor-paste-word', 5 );
    
    // Add a submenu to the custom top-level menu:
    add_submenu_page('mt-top-level-handle', __('Test Sublevel','menu-test'), __('Test Sublevel','menu-test'), 'manage_options', 'sub-page', 'mt_sublevel_page');
    
    // Add a second submenu to the custom top-level menu:
    add_submenu_page('mt-top-level-handle', __('Test Sublevel 2','menu-test'), __('Test Sublevel 2','menu-test'), 'manage_options', 'sub-page2', 'mt_sublevel_page2');
    }
    
    // daftarkan di admin menu
    // Hook for adding admin menus
    add_action('admin_menu', 'mt_add_pages');
    
    // buat halaman untuk menu tersebut
    
    // mt_toplevel_page() displays the page content for the custom Test Toplevel menu
    function mt_toplevel_page() {
    echo "<h2>" . __( 'Test Toplevel', 'menu-test' ) . "</h2>";
    }
    
    // mt_sublevel_page() displays the page content for the first submenu
    // of the custom Test Toplevel menu
    function mt_sublevel_page() {
    echo "<h2>" . __( 'Test Sublevel', 'menu-test' ) . "</h2>";
    }
    
    function mt_sublevel_page2() {
    echo "<h2>" . __( 'Test Sublevel2', 'menu-test' ) . "</h2>";
    }
    
  3. Kemudian simpan dan lihatlah tampilan menu yang tadi ditambahkan.

Hasilnya kira-kira seperti gambar dibawah ini

Menghapus Malware WordPress dengan Wordfence

Menghapus Malware WordPress – WordPress merupakan salah satu CMS yang paling banyak digunakan di dunia, website WordPress kerap dijadikan sasaran para peretas. Kami tidak mengatakan bahwa sistem yang dimiliki WordPress tidak aman. Hanya saja, Anda perlu mempersiapkan diri sewaktu-waktu website WordPress Anda terkena serangan.

Serangan malware dapat sangat menyusahkan website WordPress Anda. Bentuk serangannya pun bermacam-macam, mulai dari pencurian informasi login, error pada kode template, hingga melakukan exploit pada instalasi WordPress.

Ada berbagai macam plugin yang dapat Anda gunakan untuk melakukan scan pada website WordPress. Salah satunya adalah WordFence. Beberapa fitur menarik yang dapat Anda gunakan meliputi scan, firewall, pemblokiran, memantau percobaan login, dan lain-lain.

Selain itu, Wordfence juga dapat melakukan restore atau modifikasi file yang terinfeksi pada website WordPress Anda.

Menghapus Malware WordPress

Berikut adalah langkah-langkahnya:

  1. Silakan instal dan aktifkan plugin WordFence.
  2. Setelah Anda instalasi selesai dan Anda telah mengaktifkan plugin WordFence, Anda akan melihat menu baru pada dashboard WordPress yaitu Wordfence. Silakan klik menu Options yang berada di dalam menu Wordfence.
  3. Pada bagian menu Options, akan tampil bagian dari Scans to include. Anda pun dapat mengatur pilihan scan pada bagian ini. Aktifkan plugin untuk cek template maupun plugin yang diinstal dan membandingkannya dengan yang ada di WordPress.org.
  4. Selanjutnya buka menu Scan pada plugin Wordfence.
  5. Pada halaman scan, silakan klik Start a Wordfence scan untuk memulai scan pada website Anda. Untuk lama proses scan akan memerlukan waktu berdasarkan ukuran file pada website, jadi silakan untuk ditunggu sampai proses scan selesai.

Setelah proses scan selesai, hasil scan dapat Anda lihat pada kolom Scan Summary.

  1. Jika plugin ini menemukan file yang terinfeksi, maka akan ada pemberitahuan pada kolom summary atau pada bagian bawah dari halaman scan.

Tergantung file pada website Anda, mungkin Anda perlu untuk menghapusnya atau mengekstract code berbahaya, jika code tersebut dimasukkan pada file website Anda.

Cara Membuat Menu dan Sub Menu di WordPress

Cara membuat menu di WordPress cukup mudah untuk dilakukan. Seperti diketahui, WordPress merupakan CMS yang paling mudah untuk digunakan, hal ini terbukti dari jumlah pengguna WordPress paling banyak jika dibandingkan CMS lainnya.

WordPress merupakan salah satu platform yang dapat digunakan untuk berbagai jenis website sesuai kebutuhan, mulai dari membuat blog sampai membuat toko online.

Anda hanya memerlukan beberapa menit melakukan pengaturan di halaman dashboard admin, maka fungsi dan tampilan website Anda sudah sesuai seperti yang diinginkan.

Sama halnya ketika Anda ingin membuat beberapa menu, dengan mudah dapat Anda lakukan, bahkan Anda dapat mengatur atau mengubah menu yang telah dibuat.

Untuk membuat menu pada website, Anda harus memahami menu apa saja yang akan membantu pengunjung menemukan yang mereka cari ketika mengunjungi website Anda.

Menu pada website adalah salah satu bagian yang cukup penting. Berfungsi untuk memudahkan pengunjung menemukan konten pada website Anda, jadi pastikan membuatnya lebih mudah untuk ditemukan. Berikut ini beberapa tips yang dapat Anda gunakan untuk membuat menu pada website:

1. Batasi Menu Maksimal Tujuh
Buat menu yang sederhana dan hindari membuat menu yang banyak karena dapat menyulitkan pengunjung. Disarankan untuk menu maksimal memiliki tujuah buah. Hal ini karena memori jangka pendek manusia hanya memuat tujuh item. Berdasarkan makalah psikologi terkenal yang diterbitkan oleh George Miller pada tahun 1956.

2. Gunakan Logo Website Menuju Halaman Utama
Pastikan logo website Anda memiliki tautan ke halaman utama. Ini akan membantu pengunjung ketika ingin mengakses konten lain dari website Anda.

3. Hindari Menu Drop Down
Disarankan untuk menu drop-down maksimal hanya memiliki tiga menu di bawahnya. Jika website Anda memiliki banyak menu, hindari menggunakan menu drop down. Sebagai gantinya Anda dapat menggunakan mega menu.

4. Pastikan Desain Website Anda Responsif
Supaya menu Anda dapat diakses dengan baik melalui perangkat mobile, pastikan untuk template yang Anda gunakan sudah responsif.

 

Berikut Cara Membuat Menu di WordPress

Untuk membuat menu pada tutorial ini kami menggunakan template WordPress gratis. Berikut langkah – langkah untuk membuat menu di WordPress.

a. Buat Menu Pertama Anda
Untuk membuat menu silakan login ke dashboard WordPress, kemudian ikuti langkah di bawah ini. Pastikan Anda sudah memiliki halaman untuk menu yang akan dibuat.

1. Pilih menu Appearance > Menus

2. Untuk membuat menu baru silakan isi nama menu pada kolom Menu Name, pada contoh ini kami menggunakan nama Menu Pertama, kemudian klik tombol Create Menu.

3. Tentukan lokasi menu Anda dimana akan ditampilkan. Untuk lokasi menu terdapat tiga pilihan yaitu primary, secondary, dan social. Lokasi dan nama biasanya tidak sama untuk setiap template.

4. Pada bagian Pages, silakan centang halaman yang ingin ditambahkan pada menu yang akan dibuat, kemudian tekan tombol Add to Menu.

5. Setelah halaman ditambahkan ke menu, pilih lokasi menu yang ingin Anda tampilkan, pada contoh ini kami memilih lokasi Primary, kemudian tekan tombol Save Menu.

Untuk melihat perubahan, silakan akses website Anda. Tampilannya kurang lebih akan terlihat seperti gambar di bawah ini, tergantung template yang anda gunakan.

 

b. Urutkan Menu

Setelah Anda selesai membuat menu, pastikan urutannya sesuai dengan yang Anda inginkan. Jika belum sesuai dapat dilakukan pengaturan dengan cara menggeser menu ke lokasi yang diinginkan, kemudian klik tombol Save Changes.

c. Buat Sub Menu atau Menu Drop-Down

Sub menu adalah menu yang memiliki menu di bagian dalamnya, terdiri dari menu parent dan child. Sub menu akan muncul ketika mouse diarahkan ke menu utama.

Membuat sub menu memungkinkan website Anda memiliki struktur menu yang baik. Untuk membuatnya sama seperti ketika Anda mengurutkan lokasi menu. Silakan tarik ke lokasi dimana Anda ingin menempatkannya. Kemudian klik tombol Save Changes untuk menyimpan perubahan.

Untuk membuat sub menu, disarankan maksimal tiga, jika Anda ingin menambahkan banyak menu, Anda dapat membuat mega menu, Anda hanya perlu menginstal plugin Max Mega Menu.

Mengenal Post Type pada WordPress

post-type

Jika kita sering menggunakan WordPress pasti kita tidak asing lagi dengan yang namanya page, post, dan media.

Dengan page kita dapat membuat halaman untuk ditampilkan pada blog kita.

Dengan Post kita dapat memposting sebuah artikel.

Dengan Media kita bisa sekedar meng-upload gambar yang ingin kita gunakan pada blog kita.

 

Ke-3 Fitur utama WordPress ini dikenal dengan istilah “Post Type”.

 

Post Type adalah sebuah klasifikasi yang dapat dibedakan antara satu jenis post dengan jenis post yang lain pada WordPress.

Pada dasarnya WordPress hanya memiliki 1 tabel database untuk menyimpan semua data post pada sebuah blog, yang secara default bernama “wp_posts”. Tetapi ada satu kolom khusus pada tabel tersebut yang berfungsi untuk memberikan klasifikasi pada setiap baris data pada tabel tersebut. Kolom tersebut adalah “post_type”.

Contoh:

Untuk postingan berupa artikel post type-nya akan berjenis “post”

Untuk postingan halaman (page), post type-nya akan berjenis “page”

Untuk postingan berupa media/gambar, post type-nya akan berjenis “attachment”

Jika kita menggunakan plugin WooCommerce untuk berjualan, maka setiap produk yang tersimpan akan berjenis “product”.
Dari contoh diatas dapat kita lihat bagaimana WordPress memberikan klasifikasi pada sebuah post untuk membedakan post tersebut dengan post yang lain pada sebuah tabel.

Tambahan mengenai Custom Post Type

Tentu saja fungsi post type tidak hanya terbatas pada penggunaannya untuk menulis artikel atau membuat halaman blog saja. Sebagai user, kita memiliki privilege untuk mengembangkan lebih jauh post type ini menjadi sebuah custom post type yang memiliki fungsi dan tujuan sesuai dengan apa yang kita inginkan.

Saya akan berikan contoh kasus penggunaan custom post type dapat memberikan kita keleluasaan dalam mengembangkan platform WordPress

 
Contoh kasus:

Saya ingin membuat sebuah post baru untuk menampilkan portfolio hasil kerja saya pada blog saya. Dengan kriteria seperti ini, maka saya memerlukan sebuah post type baru bernama “portfolio”. Yang mana nantinya post type tersebut hanya berisikan konten mengenai portfolio saya saja.

Dari contoh kasus diatas terlihat saya harus membuat sebuah post type baru yang tadi nya tidak disediakan secara default oleh WordPress. Dengan kata lain saya memerlukan sebuah custom post type baru dan ini dimungkinkan oleh WordPress agar setiap usernya bisa menambahkan custom post type sendiri.

Selain itu didalam custom post type tersebut juga bisa ditambahkan meta box untuk dapat menyimpan informasi-informasi spesifik seperti nama klien, tanggal pengerjaan, halaman website, dll. Sehingga Custom post type baru ini benar-benar dapat memenuhi kebutuhan saya untuk menampilkan informasi kepada pengunjung blog saya mengenai Portfolio hasil kerja saya.

 

Bagaimana cara membuat custom post type ini? Di artikel berikutnya akan saya bahas. Tunggu saja ya.

Implementasi WP-CRON pada Plugin

implementasi-wp-cron-pada-plugin
Halo, lama sudah saya tidak menulis artikel dikarenakan kesibukan yang saya lakukan. Pada kesempatan ini saya ingin menjelaskan mengenai fungsi dan cara penggunaan WP-Cron pada plugin.

WP-Cron adalah sebuah cron yang secara khusus disediakan oleh WordPress. Script atau code WP-Cron selalu di eksekusi ketika ada vistor mengunjungi website kita. Jadi dengan cara ini WP dapat melakukan penjadwalan untuk melakukan task atau pekerjaan tertentu di waktu yang telah ditentukan.

Akan tetapi waktu untuk melakukan task tersebut sangat bergantung pada jumlah visitor. Jika sebuah webstite jumlah visitor atau kunjungan perharinya sangat sedikit, maka WP-Cron bisa saja terlambat di eksekusi.

Tentu hal ini pasti tidak jadi soal jika blog kita ramai pengunjung dan selalu dikunjungi oleh visitor setiap menitnya, kecil kemungkinan Penjadwalan Cron kita terlambat dieksekusi.

Tentu ada cara untuk mengakali hal ini, yaitu dengan cara menggunakan Cron pada hosting kita. Tapi topik ini akan saya bahas pada artikel yang lainnya.

Penjelasan Mengenai WP-Cron

Ada dua function yang biasanya digunakan untuk mendaftarkan jadwal kita, yaitu:

1. wp_schedule_event
2. wp_schedule_single_event

Terdapat perbedaan antara dua fungsi diatas, yaitu: wp_schedule_event digunakan jika kita ingin menjadwalkan sesuatu yang rutin (hourly, twicedaily, daily). Sedangkan wp_schedule_single_event hanya di eksekusi sekali, setelah itu cron ini akan otomatis dihapus.

Hal Yang Harus diperhatikan dalam menggunakan WP-Cron

Untuk mengaplikasikan WP-Cron pada plugin kamu, perhatikan hal ini, yaitu: Pastikan 2 fungsi diatas hanya di panggil satu kali. Jadi kita membutuhkan kondisi/syarat agar fungsi tersebut dipanggil, pastikan kedua fungsi tersebut hanya di eksekusi ketika sudah memenuhi kondisi yang kita tentukan.

Jika hal ini tidak dilakukan, maka WP akan mencatat Cron yang sama berulang-ulang, sehingga jadwal yang sama akan menumpuk di dalam database. Hasilnya, task yang ingin kita eksekusi jadi di lakukan berulang-ulang. Hal ini tentu sangat memboroskan memory dan memperlambat blog kita.

Cara Implementasi WP-Cron

1. wp_schedule_even

Contohnya jika kita ingin plugin kita melakukan cek secara rutin mengenai ke-valid-an token API. Kita dapat menggunakan script seperti ini. Pengecekan akan dilakukan rutin setiap hari sekali.

register_activation_hook(__FILE__, 'my_activation');

function my_activation() {
    if (! wp_next_scheduled ( 'check_api_token' )) {
	wp_schedule_event(time(), 'daily', 'check_api_token');
    }
}

add_action('check_api_token', 'do_check');

function check_token() {
    $token = get_option( 'your_plugin_token', true );
    if( ! is_token_active( $token ) ){
        // do something
    }
}

2. wp_schedule_single_event

Contohnya kita ingin mengirimkan email pada pelanggan kita pada jam 12 siang. Karena task ini hanya terjadi sekali kita menggunakan wp_schedule_single_event.


$time = strtotime('12:00:00') - ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ); //set waktu eksekusi pada jam 12 siang

$args = array( 'email' => 'your@email', 'subject' => 'subject mail', 'message' => 'hello there!!!' );	
							
/* sebelum di wp_schedule_single_event dieksekusi pastikan kita menerapkan kondisi */

if( get_option( 'sent_at_12', true ) != 'done' ){
   wp_schedule_single_event( $time, 'send_email_at_12', $args );
   update_option( 'sent_at_12', 'done' );
}

add_action( 'send_email_at_12', 'do_send_email', 10, 3 );

function do_send_email( $to, $subject, $message ){
   wp_mail( $to, $subject, $message );
}

Tutorial: Cara Upload WordPress Localhost ke Hosting

WordPress adalah CMS yang open source, artinya kita dapat menggunakannya di localhost komputer/laptop kita tanpa ada jaringan internet. Mungkin bagi anda yang ingin sedikit berkreasi dapat menggunakan cara ini untuk sekedar belajar atau “mempreteli” WordPress anda sebelum menguploadnya ke live hosting.

Dengan cara ini juga anda dapat mengeksplore WordPress di server lokal anda tanpa dibebani biaya biaya hosting/domain dan internet, kecuali jika ingin mendownload plugin/theme. Selain itu dalam hal kecepatan juga pastinya akan lebih baik jika anda mengoprek WordPress di localhost daripada di sebuah hosting.

Nah, jika anda sudah puas mengutak-atik WordPress di localhost, maka saatnya anda mengupload WordPress tersebut ke live hosting agar dapat dilihat oleh semua orang.

Namun ada beberapa hal yang perlu diperhatikan jika anda ingin mengupload website WordPress anda ke live hosting. Apa saja itu? Saya akan jelaskan dibawah ini.

Hal-hal yang perlu diperhatikan sebelum mengupload WordPress dari Localhost ke Live Hosting

  1. Database
    Backuplah terlebih dahulu Database WordPress anda, dan lakukan export database ke sebuah file .sql. Untuk melakukan ini anda perlu masuk ke dalam PhpMyAdmin terlebih dahulu (biasanya melalui url: localhost/phpmyadmin/. Lalu pilihlah database WordPress anda, export semua tabel yang ada di dalamnya. Simpanlah dengan nama apa saja. Contoh: backup-db-localhost.sql.

    export-db

    Gambar 1: Export database melalui PhpMyAdmin

  2. wp-config.php
    Ingatlah, bahwa ketika anda melakukan upload file WordPress dari lokal ke live hosting, maka otomatis server WordPress anda juga akan berganti. wp-config.php adalah sebuah file yang berisi pengaturan WordPress, maka sesuaikan wp-config.php anda dengan hosting dan database anda yang baru. Ganti DB_NAME, DB_USER, DB_PASSWORD, DB_HOST dengan server anda yang baru. Caranya: editlah semua line codes yang ada dibawah ini pada wp-config.php anda. File wp-config.php dapat anda temui di direktori utama WordPress anda.

    /** The name of the database for WordPress */
    define('DB_NAME', 'your_new_database_name');
    
    /** MySQL database username */
    define('DB_USER', 'your_new_database_user');
    
    /** MySQL database password */
    define('DB_PASSWORD', 'your_new_database_password');
    
    /** MySQL hostname */
    define('DB_HOST', 'your_new_host');
    
  3. Site Url
    Ketika alamat domain berubah, alamat domain yang tersimpan di WordPress anda pun harus berubah. Caranya tambahkan kode berikut di dalam file functions.php di folder theme anda yang aktif. Gantilah http://yourdomainname.com dengan url domain anda yang baru.

    update_option( 'siteurl', 'http://yourdomainname.com' );
    update_option( 'home', 'http://yourdomainname.com' );
    

Ketika hal-hal diatas sudah anda lakukan. Sekarang anda sudah siap untuk mengupload file WordPress anda ke dalam live hosting.

Cara Upload WordPress dari Localhost ke Live Hosting

Saya asumsikan anda sudah melakukan setup hosting, domain, dan sudah membuat database baru. lalu lakukanlah langkah berikut.

  1. Uploadlah semua file beserta folder yang ada di dalam direktori utama WordPress anda.
  2. Import database yaitu file .sql yang baru saja anda buat sebelumnya melalui phpmyadmin server hosting anda
  3. Ketika file dan database sudah terupload. Sekarang seharusnya website anda sudah bisa di akses melalui domain baru anda. Jika belum bisa, coba cek apakah setting nama hosting, user, password, dsb di wp-config.php ada yang salah? Jika semua sudah terketik dengan sempurna, seharusnya website anda dapat langsung live
  4. Hapuslah code dari file functions.php yang baru saja anda buat, atau anda dapat memberi tanda komentar untuk menonaktifkan code tersebut. Anda perlu menghapus code ini supaya code ini tidak terus di eksekusi saat website anda berjalan. Code ini hanya di eksekusi sekali untuk mengganti alamat domain lama anda ke domain yang baru.
    //update_option( 'siteurl', 'http://yourdomainname.com' );
    //update_option( 'home', 'http://yourdomainname.com' );
    

Demikianlah Tutorial tentang cara upload WordPress localhost ke hosting anda yang baru. Semoga bermanfaat.

Script Membuat Tabel Database Otomatis Saat Install Plugin

wp-create-table-at-first-install

Gambar 1: Ilustrasi membuat table database pada plugin WordPress

Bagi developer yang sedang membuat plugin WordPress, terkadang ada saatnya kita harus menambahkan tabel baru pada database untuk mendukung plugin yang kita buat. Tahukah kamu WordPress sudah menyiapkan sebuah hook untuk hal ini?

register_activation_hook

Hook ini hanya akan dijalankan ketika pertama kali kita mengaktifkan sebuah plugin, selain itu WordPress akan mengabaikan hook ini. Jadi hook ini cocok untuk kita sisipkan script untuk membuat tabel pada Database WP kita.

Contoh Script Menambahkan Tabel saat Mengaktifkan Plugin

Anda bisa tambahkan contoh script berikut ini ke dalam file induk plugin anda. Tinggal sesuaikan saja nama tabel dsb.

function install_plugin_db() {
	global $wpdb;
	
	$wpdb->query( "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}tasks (
					  task_id INT(11) NOT NULL AUTO_INCREMENT,
					  subject VARCHAR(45) DEFAULT NULL,
					  start_date DATE DEFAULT NULL,
					  end_date DATE DEFAULT NULL,
					  description VARCHAR(200) DEFAULT NULL,
					  PRIMARY KEY (task_id)
					) ENGINE=InnoDB" );
}
register_activation_hook( __FILE__, 'install_plugin_db' );