Proyek sampingan yang lahir dari kebiasaan sehari-hari. Sejak berlangganan Notion, saya memanfaatkannya untuk membuat database pencatatan cashflow. Seiring waktu, saya ingin pengalaman yang lebih cepat dan terasa βnativeβ di ponsel β tanpa harus membuka Notion setiap kali ingin mencatat pemasukan atau pengeluaran. Masalahnya Saya sudah punya sistem pencatatan di Notion yang cukup membantu. Tapi untuk pencatatan harian, alurnya masih terasa berat: Saya ingin sesuatu yang jauh lebih sederhana: Buka app β catat β lihat ringkasan β selesai. Mengapa solusi yang ada kurang pas Saya mencoba beberapa aplikasi pencatat keuangan yang sudah ada. Banyak yang bagus, tapi tidak cocok dengan cara…
TL;DR Ada kebiasaan yang akhir-akhir ini sering saya lakukan: memandangi newsletter yang masuk ke inbox. Bukan isi emailnya yang menarik perhatian saya, melainkan desainnya. Banyak yang tampak sederhana, tidak penuh warna, tidak dipenuhi gambar, tipografinya bersih, dan spacing antar elemennya nyaman. Secara keseluruhan terasa profesional. Saya lalu berpikir, kalau mereka bisa mengirim email seperti itu, kenapa saya tidak? Ide Ini Berawal dari Kebutuhan Sendiri Saya bukan sedang mencari ide proyek baru. Saya hanya ingin mengirim email yang tampil lebih rapi saat berkomunikasi dengan client. Bayangan saya sederhana: buat template HTML sekali, lalu pakai lagi setiap kali dibutuhkan, tanpa pindah ke…
Hampir setiap website WordPress custom yang saya kerjakan memiliki kebutuhan yang berbeda. Ada yang berupa company profile, directory, knowledge base, hingga website internal perusahaan dengan ribuan data. Namun, meskipun jenis project-nya berbeda-beda, saya mulai menyadari ada satu pola yang terus berulang. Cepat atau lambat, client biasanya akan bertanya, “Search-nya bisa dibuat lebih pintar nggak?β Menariknya, mereka tidak pernah bertanya bagaimana cara saya membangunnya. Mereka tidak peduli apakah saya menggunakan WP_Query, WordPress REST API, atau teknologi lainnya. Yang mereka rasakan hanya satu hal. Kalau data yang mereka cari tidak muncul, berarti fitur search dianggap belum bekerja dengan baik. Sejak saat itu,…
TL;DR Banyak developer langsung memakai Vite, Webpack, atau starter kit saat mulai dengan Tailwind CSS. Pendekatan itu memang modern β tapi tidak selalu dibutuhkan. Sebagian besar proyek WordPress yang saya kerjakan adalah custom theme berbasis PHP. Strukturnya sederhana. Saya tidak butuh Hot Module Replacement atau development server yang rumit. Yang saya butuhkan: compile CSS yang cepat, watch file yang andal, dan livereload agar iterasi desain terasa ringan. Solusi yang saya pakai: Tailwind CSS CLI untuk build CSS, Prepros untuk hal-hal di luar Tailwind. Kombinasi ini sudah saya gunakan di berbagai proyek dan sampai hari ini masih jadi workflow utama saya.…
Custom Gutenberg Block ACF Pro menjadi solusi yang saya bangun saat content creator butuh alat penulisan yang fleksibel, tetapi saya tidak ingin terjebak menulis React maupun JavaScript block yang terlalu rumit. Gutenberg memang sudah jadi fondasi yang kuat, namun blok bawaan sering kurang sesuai dengan struktur konten spesifik di website klien. Artikel ini adalah studi kasus dari pengalaman pribadi saya, bukan tutorial generik. Saya akan memandu Anda lewat proses implementasinya, mulai dari fondasi reusable block, registrasi dinamis, kategori kustom, contoh InnerBlocks, contoh field ACF, hingga PHP rendering. Mari langsung masuk ke studinya. Tantangan yang Saya Hadapi Saya membutuhkan custom blocks…
Role-Based Discount WooCommerce menjadi solusi yang saya bangun saat pemilik toko minuman membutuhkan harga bertingkat tanpa membuat toko terpisah atau bergantung pada plugin diskon yang terlalu kaku. Artikel ini adalah studi kasus dari pengalaman pribadi saya, bukan tutorial generik. Saya akan memandu Anda lewat proses implementasinya, mulai dari setup environment hingga pengujian produk akhir. Mari langsung masuk ke studinya. Setup Environment Development Sebelum menulis kode, saya menyiapkan environment development yang rapi agar iterasi bisa cepat dan terisolasi. Saya menginstal LocalWP untuk local WordPress development karena tool ini memudahkan pembuatan instalasi WordPress yang terpisah. Saya memakai tema Storefront sekaligus membuat child…
TL;DR WordPress menyediakan sistem navigasi yang sangat fleksibel. Namun secara bawaan, menu yang ditampilkan akan sama untuk semua pengunjung, baik yang sudah login maupun yang belum. Pada banyak jenis website, kondisi tersebut kurang ideal. Sebagai contoh, website membership biasanya ingin menampilkan tombol Login kepada pengunjung yang belum memiliki sesi login. Setelah pengguna berhasil masuk, tombol tersebut diganti menjadi Profile, Dashboard, atau Logout. Dengan pendekatan ini, navigasi menjadi lebih sederhana. Pengalaman pengguna juga menjadi jauh lebih baik. Kabar baiknya, Anda tidak perlu membangun sistem tersebut dari awal. Ada beberapa cara yang dapat digunakan, mulai dari menggunakan plugin hingga memanfaatkan custom code…