Bagaimana Meng-Edit Template WooCommerce

woocommerce

Gambar 1: Logo WooCommerce

Jika kita memiliki sebuah toko online berbasis WorPress dan WooCommerce, terkadang apa yang disajikan oleh template WooCommerce secara default belum memenuhi kebutuhan kita.

Apalagi bagi anda yang berprofesi sebagai seorang developer, dan klien anda menginginkan tampilan yang berbeda pada toko online miliknya.

Maka untuk memenuhi kebutuhan klien anda, anda terpaksa mengedit file template pada plugin WooCommerce.

Sedangkan anda tau jika anda mengedit langsung file pada plugin WooCommerce hal ini sangat riskan karena jika suatu saat klien anda mengupdate plugin miliknya, maka semua kerjaan anda akan hilang tertimpa update-an tersebut.

Ternyata WooCommerce sudah mengantisipasi hal ini, sehingga setiap user/developer yang menggunakan WooCommerce dapat merubah template dengan sesuka hati tanpa harus mengubah source code pada plugin aslinya.

Caranya adalah user diberi keleluasaan untuk melakukan override (timpa) pada template yang ada pada plugin WooCommerce dan meletakan file template yang baru pada folder theme yang sedang aktif.

Secara spesifik kita dapat melakukan hal ini dengan cara berikut:

Cara Edit Template WooCommerce

  1. Copy folder “templates” dan semua isinya pada path “wp-content/plugins/woocommerce/templates” dan letakan pada lokasi theme anda yang sedang aktif, lalu rename folder “templates” menjadi “woocommerce”.

    Sebagai contoh, berikut adalah path hasil copy template: wp-content/themes/themeanda/woocommerce/

  2. Lakukan edit pada file php yang anda inginkan di dalam folder “woocommerce” yang baru anda masukan ke dalam theme.

    Setiap perubahan yang anda buat di dalam folder “woocommerce” ini akan mengubah tampilan pada toko online anda, khususnya halaman WooCommerce. Selain itu code anda juga akan terhindar dari update.

  3. Anda dapat mengubah setiap file apapun di dalam folder “woocommerce” sesuka hati, asalkan masih tetap mengikuti alur program WooCommerce. Sebagai catatan: ada kalanya WooCommerce mengganti versi template pada saat update.

    Ketika file template yang anda override masih dalam versi yang lama, kemungkinan akan ada kerusakan pada tampilan anda. Untuk mengantisipasi hal ini, anda hanya perlu mengupdate file yang anda gunakan dengan file template yang baru, lalu sesuaikan code anda yang pernah anda tulis disitu.

cara edit template woocommerce

Gambar 2: Isi folder templates WooCommerce

Demikian adalah cara untuk melakukan edit template WooCommerce tanpa harus kehilangan code yang pernah kita buat ketika update plugin. Saya pun sering melakukan hal ini jika ada request dari klien untuk merubah tampilan toko online miliknya. Semoga informasi berikut ini bermanfaat.

Mengenal wp-config.php WordPress

wp-config.php wordpress

Gambar 1: Contoh code pada wp-config.php

Jika anda menggunakan WordPress self hosted, maka anda perlu mengetahui apa itu wp-config.php WordPress?

wp-config.php adalah sebuah file yang digunakan oleh engine WordPress untuk menyimpan data-data penting untuk pengaturan website, misalnya: database dan host.

Selain itu, juga terdapat banyak pengaturan WordPress yang bisa anda set di dalam file ini. Contohnya: Pengesetan Bahasa, Penggantian Site Url, Mengaktifkan debug mode. Anda bisa mencari tau lebih banyak di sini codex.wordpress.org

Untuk menggenerate website anda, WordPress harus membaca informasi di dalam file wp-config.php. Di antara informasi tersebut ada yang paling vital dan wajib untuk sistem dapat membacanya. Berikut penjelasan mengenai pengaturan yang paling penting dan dibutuhkkan oleh WordPress pada wp-config.php

Pengaturan Database dan Host pada wp-config.php WordPress

WordPress hanya butuh 2 pengaturan ini supaya bisa jalan dengan baik, yaitu: Database dan Host. Jika di wp-config.php anda pengaturan database dan host salah, maka website anda akan error dan tidak tampil sebagai mestinya.

Saat anda menginstall WordPress pertama kali maka sistem akan otomatis membuat file wp-config.php ini di dalam direktori utama website anda.

Anda memang tidak perlu memusingkan hal ini diawal, karena semua itu sudah disiapkan oleh WordPress secara otomatis untuk anda.

Namun apa jadinya bila suatu saat anda ingin pindah hosting? atau mengganti nama database dan user-nya.

Mau tidak mau anda harus meng-edit file wp-config.php tersebut dan mengganti settingan database dan host untuk menyesuaikan hosting baru anda.

Tenang hal ini mudah untuk dilakukan. Anda hanya perlu mengedit file wp-config.php di dalam folder utama website anda menggunakan FTP atau File Manager (cPanel).

Karena itu jika anda berencana pindah hosting, pastikan anda mengetahui data database dan host di hosting baru anda nanti.

Berikut adalah contoh code pengaturan Database dan Host pada wp-config.php:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'your_database_name');

/** MySQL database username */
define('DB_USER', 'your_database_user');

/** MySQL database password */
define('DB_PASSWORD', 'your_database_password');

/** MySQL hostname */
define('DB_HOST', 'your_host');

Pengaturan di atas adalah untuk menghubungkan WordPress anda dengan Hosting dan Database yang anda gunakan.

Jika data anda salah, maka WordPress tidak akan mengenali hosting yang anda gunakan.

Pastikan isi data Database dan Host dengan benar ketika anda baru saja mengganti hosting atau database anda. Semoga bermanfaat.

Woocommerce: Mengganti Jumlah Produk Yang Tampil

woocommerce mengganti Jumlah Produk

Gambar 1: Contoh tampilan produk menggunakan WooCommerce

Mungkin bagi anda yang mempunyai sebuah online shop berbasis WordPress, pernah berkeinginan untuk mengurangi atau menambahkan jumlah produk yang tampil pada halaman produk Woocommerce. Tips singkat berikut ini boleh dicoba.

Untuk melakukan ini kita akan menggunakan Hooks yang disediakan oleh WooCommerce, yaitu “loop_shop_per_page”. Tetapi kita akan perlu sedikit untuk memodifikasi kode php kita.

Mengganti Jumlah Produk Yang Tampil Per Halaman

Masuk melalui FTP atau File Manager (cPanel), lalu tambahkan kode dibawah ini pada file functions.php di folder theme yang aktif. Functions.php biasanya terletak pada path berikut “wp-content/themes/folder-theme-anda/functions.php”. Tempatkanlah kode dibawah ini pada baris paling bawah sebelum tanda “?>“.

// Display 24 products per page
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 24;' ) );

Pada contoh saya, saya menampilkan produk berjumlah 24 buah per halaman. Anda bebas boleh menentukan sendiri berapa angka yang anda perlukan. Semoga bermanfaat.

Membuat Website WordPress di Dalam Subdirektori

Website WordPress di Dalam Subdirektori

Gambar 1: Membuat WordPress di Dalam Subdirektori.

Bagi anda yang mempunyai website WordPress dan berkeinginan untuk memiliki copy website WordPress dalam bahasa lain pada subdirektori, mungkin artikel berikut ini penting untuk anda baca.

Apa yang dimaksud subdirektori? Subdirektori adalah sebuah direktori cabang yang berada di dalam direktori induk. Biasanya subdirektori ini diakses dengan menambahkan sebuah query baru di akhir domain anda. Contoh: “www.domain-anda.com/subdirektori/”

Secara default jika kita mengakses halaman url subdirektori dari browser maka WordPress akan menunjuk sebuah halaman atau post. Namun jika tidak ditemukan post apapun yang berkaitan dengan url tersebut, maka biasanya WordPress akan menunjuk halaman 404.

Supaya WordPress dapat membaca website baru kita di dalam subdirektori, kita harus meng-edit file .htaccess di dalam subdirektori tersebut.

Langkah-langkah Membuat Website WordPress di Dalam Subdirektori

  1. Login lah kedalam FTP hosting anda.
  2. Buat lah sebuah direktori baru di dalam direktori utama website anda. Contohnya buatlah direktori baru dan beri nama “en”. Pada contoh ini anda berencana membuat website WordPress baru berbahasa inggris. Yang nantinya pengunjung luar negri bisa mengakses website anda yang berbahasa inggris melalui subdirektori en pada “http://domain-anda.com/en/”.
  3. Install WordPress baru, atau copy WordPress lama anda ke dalam direktori yang baru dibuat. Jika anda melakukan copy site, pastikan anda juga mengcopy database website lama dan menempatkannya di database baru. Sesuaikan settingan di wp-config.php dan tambahkan script dibawah ini pada wp-config.php.
    define('WP_HOME','http://domain-anda.com/en/');
    define('WP_SITEURL','http://domain-anda.com/en/');
    
  4. Edit file .htaccess yang terletak di dalam subdirektori anda. Ubahlah code yang sebelumnya seperti ini:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    

    Menjadi seperti ini:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /en/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /en/index.php [L]
    </IfModule>
    
    # END WordPress
    

    Pada contoh script diatas, kita telah mengarahkan index.php ke dalam subdirectory ‘en’. Ini berfungsi agar browser membaca file index.php pada subdirektori.

Ini adalah tutorial sederhana yang dapat memberikan anda solusi cepat. Sebenarnya ada cara lain yang mungkin lebih rumit, tetapi dapat meng-integrasikan sistem antara WordPress yang satu dengan yang lainnya sehingga dapat saling terhubung. Fitur ini dinamakan Multi-Site. Pada kesempatan berikutnya saya akan mencoba membahas fitur Multi-Site ini. Terima kasih.

Tutorial Membuat Shortcode di WordPress

WordPress menyediakan sebuah fitur shortcode untuk menambahkan konten pada post/page.

Shortcode adalah sebuah fungsi yang digunakan untuk memberikan konten tambahan yang di proses oleh sistem di belakang layar.

Biasanya shortcode digunakan dengan cara menyelipkan code shortcode di sela-sela artikel atau postingan.

Dengan menambahkan shortcode tertentu di sela-sela tulisan artikel kita, maka sistem akan memproses output atau konten yang ingin ditampilkan kepada pembaca.

Sesuai artinya shortcode atau jalan pintas, digunakan untuk memberikan kemudahan bagi user untuk menampilkan sebuah konten yang rumit atau berulang-ulang hanya dengan 1 baris kode shortcode yang sederhana.

Sebagai contoh: Jika user ingin menulis url sebuah artikel miliknya pada artikel yang lain, ia dapat menggunakan fitur shortcode.

Dibandingkan jika user tersebut harus melakukan copy paste url yang suatu saat bisa saja berubah, maka shortcode bisa memberikan solusi yang dinamis.

Apabila suatu saat url berubah shortcode yang dibuat dengan logika pemrograman dapat dibuat dinamis, bisa menyesuaikan dengan menggantikan url lama dengan url baru.

Contoh penggunaan Shortcode pada WordPress


Untuk dapat menuju artikel sebelumnya, klik <a href="[get_permalink id=67]">link ini</a>

Shortcode yang saya gunakan pada contoh di atas adalah [get_permalink id=67]. Dimana id=67 adalah nomor post id artikel yang ingin saya tampilkan url-nya.

Dengan menggunakan contoh seperti diatas, maka akan tampil tulisan seperti berikut ini

Untuk dapat menuju artikel sebelumnya, klik link ini

Cara Membuat Shortcode di WordPress untuk mendapatkan url artikel (get permalink)

Tambahkan kode berikut pada functions.php pada folder theme yang anda gunakan.


add_shortcode( 'get_permalink', 'echo_get_permalink' );

function echo_get_permalink( $atts ){
	
	$atts = shortcode_atts( array(
		'id' => ''
	), $atts, 'get_permalink' ); //digunakan untuk memfilter inputan $atts dari user
	
	$post_id=$atts['id'];
	return get_permalink( $post_id );
}

Referensi:
https://codex.wordpress.org/Function_Reference/add_shortcode

Ajax WordPress Tutorial

Bagaimana cara menggunakan Ajax di WordPress? Mungkin artikel ini dapat membantu anda untuk mengimplementasikan ajax pada wordpress.

Terutama bagi anda yang baru saja belajar dalam mendevelop sebuah theme atau plugin, artikel ini mungkin sangat diperlukan.

Penjelasan Mengenai Ajax WordPress Tutorial

Sebenarnya WordPress sudah menyediakan API bagi developer yang ingin menambahkan fitur Ajax pada plugin/theme yang mereka buat.

Jadi developer sudah dibekali fitur untuk mengintegrasikan fitur ajax langsung kedalam sistem WordPress, hanya saja developer perlu mengetahui hook apa saja yang di perlukan untuk menggunakannya.

Tanpa bertele-tele, saya akan memberikan contoh penggunaan Ajax sederhana pada sebuah plugin WordPress.

Untuk mengaktifkan fitur ajax kita perlu menjalankan fungsi ajax kita pada 2 jenis action yaitu:

1. wp_ajax_[nama fungsi]: Ajax hanya dijalankan ketika user telah login
2. wp_ajax_nopriv_[nama fungsi] : Ajax dijalankan tanpa harus user melakukan login

Contoh penggunaan Action WP Ajax untuk membuat user baru pada WordPress

add_action( 'wp_ajax_create_user_example', 'create_user' );
add_action( 'wp_ajax_nopriv_create_user_example', 'create_user' );

function create_user(){
	if ( isset($_REQUEST) ) {
		$user_name = $_REQUEST['user_name'];
		$user_email = $_REQUEST['user_email'];
		$user_id = username_exists( $user_name );
		if ( !$user_id and email_exists($user_email) == false ) {
			$random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
			$user_id = wp_create_user( $user_name, $random_password, $user_email );
			$result['user_id'] = $user_id;
			wp_json_encode($result);
		}
		
		die();
	}
}

sedangkan untuk memanggil action wp ajax kita harus mendeklarasikan fungsi ajax kita menggunakan jQuery, contohnya:

var data = {
		action: 'create_user_example',
		'user_name': jQuery('#user_name'),					
		'user_email': jQuery('#user_email'),					
	};

jQuery.ajax({
	type: 'POST',
	dataType : 'json',
	url: deczen_example.ajaxUrl,
	data: data,
	success: function( response ) {			
		if( response['user_id'] ){
			alert( 'user with id: '+ response['user_id'] +' was added as new user' );
		}
	}
});

Namun sebelum kita dapat menjalankan script-script di atas, kita perlu mendeklarasikan ajaxUrl terlebih dahulu. Berikut adalah contohnya:

add_action( 'wp_enqueue_scripts', 'enqueue_script' );

function enqueue_script(){
	$localize = array('ajaxUrl'=> admin_url().'admin-ajax.php');
	wp_localize_script('jquery','deczen_example',$localize);
}

Demikianlah tutorial singkat cara menggunakan ajax pada WordPress. Semoga bermanfaat.

Referensi:
https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_%28action%29
https://codex.wordpress.org/AJAX

WordPress Hooks: Mengenal Action dan Filter pada WordPress

wp-hooks-image

Gambar 1: Ilustrasi WordPress Hooks

Dari sebuah Ide bahwa user boleh mengubah data yang akan di munculkan pada website/blog berbasis wordpress, maka peran WordPress Hooks akan sangat dibutuhkan disini.

Apa yang dimaksud dengan WordPress Hooks? Hooks adalah API WordPress yang memungkinkan user/developer mengubah data yang diproses/ditampilkan pada website tanpa harus merubah struktur kode aslinya.

Hooks terdiri dari 2 jenis yaitu Action dan Filter. Action bersifat tidak mengembalikan nilai, sedangkan filter mengembalikan nilai.

Biasanya Action digunakan untuk menambahkan sebuah proses, sedangkan Filter berfungsi untuk merubah/atau memodifikasi nilai dari sebuah proses. pada contoh nyata Action dan Filter dapat di gambarkan sebagai berikut:

Contoh Kasus Penggunaan WordPress Action dan Filter

Action:
Developer ingin menambahkan tombol register facebook pada halaman register wordpress. User dapat menggunakan Action yang di sediakan oleh halaman register wordpress.
Filter:
User ingin memberikan harga khusus pada produk WooCommerce pada kamis atau minggu. User dapat memanfaatkan Filter yang di sediakan plugin WooCommerce untuk memodifikasi harga yang hanya di jalankan pada hari kamis atau minggu.

Deklarasi dan Penggunaan Action dan Filter

Action dan Filter hanya dapat di gunakan jika nama Action/Filter sudah di deklarasikan pada source code sebelumnya. Untuk mendeklarasikan nama Action/filter digunakan fungsi berukut:

Action:
do_action();
Filter:
apply_filters();

Untuk menggunakan Action dan Filter yang sudah dideklarasikan sebelumnya digunakan fungsi berikut:

Action:
add_action();
Filter:
add_filters();

Contoh Source Code Action dan Filter WordPress

Source Code Action

echo "Konten sebelum action";

do_action( 'tambahkan_konten' );

untuk memanggilnya kita menggunakan code seperti berikut:

add_action( 'tambahkan_konten', 'nama_fungsi_pemanggil' );

function nama_fungsi_pemanggil(){
? echo "Konten ini ditambahkan menggunakan action";
}

Maka yang akan tampil pada layar adalah:

Konten sebelum action
Konten ini ditambahkan menggunakan action

Source Code Filter

$data = 100;

echo "Data sekarang adalah : ". apply_filters( 'ganti_data', $data );

untuk melakukan filter adalah demikian:

add_filter( 'ganti_data', 'fungsi_ganti_data' );

function fungsi_ganti_data( $data ){

? $data+=100;

? return $data;
}

Maka hasilnya akan seperti ini:

Data sekarang adalah : 200

Demikian adalah tutorial singkat bagaimana cara menggunakan WordPress Hooks yang berupa Action dan Filter. Semoga bermanfaat.

Referensi:
https://codex.wordpress.org