Cara Membuat Custom Post Type WordPress

Sebelum mengerti cara membuat custom post type WordPress, ada baiknya untuk mengenal apa itu custom post type pada artikel berikut.

Ambil contoh kasus jika kamu ingin menambahkan dafar portfolio pada website WordPress-mu, maka kita bisa gunakan custom post type untuk mewujudkan hal tersebut.

Simak tutorialnya dibawah ini.

Cara Membuat Custom Post Type

  • Login cPanel untuk akses File Manager atau bisa juga login FTP
  • Masuk ke dalam folder Theme yang kamu gunakan, lalu buka file functions.php
  • Tambahkan baris kode berikut pada baris paling bawah, lalu save

// Fungsi untuk menambahkan custom post type baru

function add_portfolio_post_type() { 
	register_post_type( 'portfolios', array( 
		'labels' => array( 
			'name' => __( 'Portfolios' ), 
			'singular_name' => __( 'Portfolio' )
		), 
		'public' => true, //tampilkan di publik 
		'has_archive' => true, //mempunyai halaman archive 
		'rewrite' => array(
			'slug' => 'portfolio' ), // slug yang tampil di url 
		'show_in_rest' => true, 
		) 
	); 
} 

// Panggil hook untuk menjalankan fungsi yang kita buat
add_action( 'init', 'add_portfolio_post_type' );

Setelah menambahkan kode tersebut, custom post type baru bernama “Portfolios” akan muncul di halaman menu dashboard admin WP kamu

“cara

Mengenal fungsi $wpdb pada WordPress

mengenal fungsi $wpdb

Mengenal fungsi $wpdb pada WordPress

Database adalah salah satu komponen yang penting bagi sebuah website. Dengan database, website dapat menyimpan data untuk waktu yang lama, selain itu juga dapat menampilkan data tersebut kepada user.

Begitu juga WordPress peran database sangatlah penting karena semua post dan artikel yang kita buat akan disimpan di database.

Jika anda adalah seorang programmer yang berniat membuat plugin atau theme bagi WordPress maka tidak jarang anda memerlukan suatu metode untuk mengakses database pada sistem WordPress dengan mudah dan cepat dibanding anda harus membuat fungsi itu semua dari awal.

WordPress sendiri telah menyediakan sebuah objek dari class yang bernama “wpdb” untuk melakukan fungsi-fungsi mengolah/memanipulasi database. Class wpdb terletak di dalam “wp-includes/wp-db.php”.

/**
 * WordPress database access abstraction class.
 *
 * This class is used to interact with a database without needing to use raw SQL statements.
 * By default, WordPress uses this class to instantiate the global $wpdb object, providing
 * access to the WordPress database.
 *
 * It is possible to replace this class with your own by setting the $wpdb global variable
 * in wp-content/db.php file to your class. The wpdb class will still be included, so you can
 * extend it or simply use your own.
 *
 * @link https://developer.wordpress.org/reference/classes/wpdb/
 *
 * @since 0.71
 */
class wpdb {

	/**
	 * Whether to show SQL/DB errors.
	 *
	 * Default is to show errors if both WP_DEBUG and WP_DEBUG_DISPLAY evaluate to true.
	 *
	 * @since 0.71
	 * @var bool
	 */

Object wpdb ini disimpan dalam sebuah variabel global $wpdb, sehingga bisa diakses dimana saja dengan melakukan deklarasi variabel global seperti berikut:

global $wpdb;

Untuk mengenal fungsi $wpdb lebih lanjut, didalam objek wpdb sendiri sudah disediakan berbagai method yang bisa kita gunakan.

Beberapa method penting untuk mengenal fungsi $wpdb

  1. get_results: Untuk mengambil data dari tabel-tabel yang ada di database
  2. get_row: Untuk mengambil data terbatas hanya satu baris (row) saja
  3. get_var: Untuk mengambil nilai satu variabel atau satu kolom tertentu dari database
  4. update: Untuk mengupdate nilai pada database
  5. insert: Untuk menambahkan baris baru pada sebuah tabel
  6. delete: Untuk menghapus nilai tertentu pada database
  7. query: Untuk eksekusi query sql secara bebas

Berikut adalah contoh cara menggunakan method get_results untuk mengambil semua baris dari tabel wp_posts dan memiliki post_type=post:

global $wpdb;

$rows = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type='post'" );

Object wpdb juga menyediakan beberapa atribut atau properti penting yang bisa kita gunakan.

Cth beberapa atribut penting pada $wpdb

  1. prefix: Untuk mendapatkan prefix tabel WordPress, biasanya WP berisi prefix “wp_”. Cara memanggilnya bisa bisa dengan cara menuliskan $wpdb->prefix.
  2. last_query: Untuk mendapatkan query SQL terakhir yang dieksekusi. Ini kadang perlu untuk melakukan debuging. Cth: $wpdb->last_query;
  3. last_error: Untuk menampilkan pesan error query terakhir (jika ada). Cth: $wpdb->last_error;
  4. posts: Untuk mendapatkan nama tabel posts beserta prefixnya secara lengkap, cth: $wpdb->posts akan mengembalikan nilai “wp_posts” jika prefix WP adalah “wp_”.
    Untuk mendapatkan nama tabel utama WordPress yang lain selain wp_posts tinggal gunakan saja nama setelah prefix-nya.
    Contoh untuk mendapatkan nama wp_postsmeta, gunakan $wpdb->postmeta.
    Catatan: Hindari menuliskan kode nama tabel secara statis (wp_posts, wp_postmeta, dll), karena prefix tabel WordPress belum tentu adalah “wp_”.

Kesimpulan:
WordPress menyediakan sebuah objek yang bernama wpdb dan dipanggil dengan menggunakan variabel global bernama $wpdb. Objek wpdb menyediakan beberapa method dan atribut yang penting untuk melakukan manipulasi database.

Referensi:
https://developer.wordpress.org/reference/classes/wpdb/

WordPress Log File untuk Debuging

wordpress log file

Artikel ini merupakan artikel lanjutan dari artikel sebelumnya: Cara Debug WordPress untuk Melihat Pesan Error. Anda boleh membaca kembali artikel sebelumnya sebelum melanjutkan ke topik WordPress Log File.

Jika pada artikel sebelumnya kita hanya menampilkan pesan error pada layar, maka pada artikel kali ini kita akan belajar untuk menampilkan pesan error pada sebuah file (error log file).

Fitur ini sudah ada pada WordPress, namun kita perlu mengaktifkannya agar bisa digunakan.

Mengaktifkan WordPress Log File

  1. Buka file “wp-config.php” yang terletak di root folder website Anda (bisa lewat File Manager pada cPanel, atau FTP)
  2. temukan baris code dengan tulisan “define( ‘WP_DEBUG’, false ); “
  3. Ganti text menjadi “define(  ‘WP_DEBUG’, true );“.
  4. lalu tambahkan baris code baru dibawahnya: “define( ‘WP_DEBUG_LOG’, true );”. Secara default error log akan tersimpan pada directory “wp-content” dengan nama “debug.log “. Tapi jika Anda ingin mengubah path file, anda bisa memasukan path file kedalam code jadi seperti ini:  “define( ‘WP_DEBUG_LOG’, ‘/public_html/wp_error.log’ );”
  5. sebagai tambahan, Anda bisa tambahkan lagi 1 baris code: “define( ‘WP_DEBUG_DISPLAY’, false );”. code ini berfungsi untuk menonaktifkan pesan error ditampilkan pada html atau layar monitor. Dan pesan error hanya akan tampil di file log saja.
  6. Save File.
/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Nah demikian tips singkat bagaimana cara mengaktifkan WordPress log file. Semoga Info ini bermanfaat.

Cara Debug WordPress untuk Melihat Pesan Error

cara debug wordpress

Jika Anda adalah seorang Developer yang belum terlalu familiar dengan structure coding WordPress, maka tips berikut adalah sebuah keharusan yang  harus Anda ketahui untuk mengutak-atik code pada Plugin atau Theme WordPress. Silakan simak cara debug WordPress berikut:

Cara Debug WordPress dengan WP_DEBUG

  1. Buka file “wp-config.php” yang terletak di root folder website Anda (bisa lewat File Manager pada cPanel, atau FTP)
  2. temukan baris code dengan tulisan “define( ‘WP_DEBUG’, false );
  3. Ganti text menjadi “define(  ‘WP_DEBUG’, true );“.
  4. Save File.
/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', true );

Setelah melakukan trik sederhana di atas, maka WordPress Anda sekarang sedang dalam mode debuging. Setiap pesan error dan warning akan tampil pada layar monitor, dan akan memudahkan Anda untuk melakukan perbaikan atau modifikasi.

Kapan mode debugging perlu diaktifkan?

  1. Ketika Anda sedang mendevelop Plugin atau Theme. Supaya Plugin atau Theme buatan Anda bebas bug, Anda perlu melihat setiap pesan error dan warning yang tampil.
  2. Ketika website WordPress mengalami kerusakan, dan Anda perlu untuk memperbaikinya.
  3. Ketika Anda melakukan maintenance pada Website, setelah mengupdate Plugin atau Theme, maka Anda perlu melakukan pengecekan menyeluruh pada website.

Kapan mode debugging sebaiknya tidak aktif?

  1. Saat website sedang live dan dikunjungi pengunjung. Beberapa pesan warning dari PHP mungkin akan mengganggu user experience dari pengunjung website Anda.

Demikianlah tips untuk mengaktifkan mode debug pada WordPress, semua tips kali ini bermanfaat.

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.

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' );

Kesal karena code terhapus saat update plugin WordPress? Begini cara menghindarinya

menghindari auto update wordpress

Gambar 1: Ilustrasi anti auto update

Auto update adalah sebuah fitur yang dimiliki oleh WordPress. Fitur ini akan mengecek update-an plugin atau theme yang anda gunakan, ketika plugin atau theme yang anda gunakan telah memiliki versi yang baru, WordPress dengan otomatis mengupdate Plugin dan Theme anda tanpa anda minta.

Hal ini kadang mengesalkan bagi anda yang sudah susah payah melakukan custom plugin atau custom theme, tetapi tiba-tiba code anda tersebut tertimpa update terbaru.

Dan dalam sekejap saja pengaturan penting anda hilang, apalagi kalau anda tidak memiliki backup. Duh!!!

Oleh karena itu untuk mengantisipasi kasus tak terduga seperti ini, penting bagi kita untuk selalu melakukan backup website kita secara berkala.

Menghindari auto update WordPress

kembali lagi pada topik kita. Jika kita tidak ingin hal ini terjadi pada website kita. Untuk menghindari auto update wordpress maka lakukanlah langkah pencegahan. Bagaimana caranya?

Pertama kita harus memahami dulu hal ini. WordPress melakukan prosedur update dengan melakukan pengecekan versi Plugin/Theme. Jika versi yang anda gunakan lebih jadul daripada yang ada di server WordPress, maka WordPress akan menginstruksikan sistem untuk melakukan update.

Jika anda sudah tahu hal itu, maka yang perlu kita lakukan adalah, akalin si WordPress. Jangan biarkan WordPress mengetahui plugin/theme yang kita pakai sudah jadul. Caranya, naikan saja versi yang tertulis pada source code plugin/theme anda.

Contohnya:

Disable auto update pada plugin

Ubahlah code version pada script pada file utama plugin seperti di bawah ini

/**
 * Plugin Name: XXX Plugin
 * Plugin URI: http://xxxplugin.com
 * Description: This is description
 * Version: 1.0.0
 * Author: xxx author
 */

menjadi seperti ini:

/**
 * Plugin Name: XXX Plugin
 * Plugin URI: http://xxxplugin.com
 * Description: This is description
 * Version: 999
 * Author:  xxx author
 */

Disable auto update pada theme

Ubahlah code version pada style.css pada theme folder seperti di bawah ini

/*
Theme Name: XXX Theme
Theme URI: http://xxxtheme.com
Author: xxx Team
Author URI: http://wordpress.org/
Description: This is description
Version: 1.0
*/

menjadi seperti ini:

/*
Theme Name: XXX Theme
Theme URI: http://xxxtheme.com
Author: xxx Team
Author URI: http://wordpress.org/
Description: This is description
Version: 999
*/

Bagaimanapun cara ini memang bisa mencegah plugin/theme kita di update secara otomatis oleh WordPress, tetapi memang ada kekurangannya. Yaitu plugin kita jadi tidak uptodate lagi, alias ketinggalan zaman. Tetapi itu memang resiko bagi kita yang melakukan modifikasi pada plugin/theme orang lain.

Memang ada cara yang lebih aman untuk melakukan modifikasi tanpa harus kita merubah source code asli pada plugin/theme, yaitu dengan menggunakan WordPress Hooks. Apa itu WordPress Hooks? informasinya bisa dibaca di sini

Demikian informasi untuk mencegah auto update pada WordPress. Semoga bermanfaat.