WordPress bagi saya pribadi adalah sebuah Web Development Tool untuk membangun website atau aplikasi berbasis web. Jika Anda tertarik membuat web application berbasis WP, silahkan lanjutkan membaca artikel ini.
Ada beberapa hal yang membuat WordPress layak menjadi "Base Framework" untuk membangun sebuah web application. Berikut ini adalah hal-hal yang menurut saya dapat dijadikan referensi bagi Anda yang ingin terjun ke dunia WordPress Development.
Dalam membangun aplikasi berbasis web, peran WordPress yang paling besar adalah dalam hal user management (user, login, role dan aktivitas lainnya seperti lupa password dan logout). Dengan menggunakan fitur ini, saya sebagai developer hanya perlu membuat interface pada front end aplikasi saya.
Aplikasi web modern sebagian besar menerapkan pretty url, dalam hal ini WordPress memiliki fungsi internal untuk menerapkan fitur ini. Selain itu, URL Rewriting juga dapat digunakan sebagai custom end point untuk REST API.
Berikut adalah contoh kode untuk membuat custom URL pada WordPress
Sehingga kita dapat membuat struktur URL seperti berikut pada aplikasi.
Sebagian besar pengguna WordPress pasti cukup memahami penggunaan theme dan/atau page builder. Untuk efektifitas dan efisiensi biaya (dan waktu pengembangan), saya menggunakan Theme WP yang sudah tersedia (baik free atau premium).
Syarat utama theme yang dapat dijadikan template untuk aplikasi berbasis web (untuk kebutuhan saya) adalah theme yang memiliki sidebar menu seperti Themify Ultra.
Sebelum membuat tabel-tabel (untuk kebutuhan data master dan data transaksi) pada database, saya biasanya membuat abstraksi datanya dalam bentuk custom post type dan custom fields.
Dengan demikian saya dapat menampilkan secara visual input-input yang diperlukan, dan jika perlu penambahan atau pengurangan field, saya tinggal menyesuaikan saja sesuai kebutuhan.
Untuk keperluan ini plugin CPT UI dan Advanced Custom Fields (ACF) Pro sangat saya butuhkan untuk mempercepat proses (terutama dalam hal mengurangi hand coding). Selain ACF Pro, ada banyak plugin untuk membuat custom fields baik yang gratis maupun yang berbayar.
Penggunaan CPT UI & ACF Pro memungkinkan kita menyimpan data-data input tanpa koding, namun hal ini sangat tidak disarankan untuk aplikasi berbasis web yang memiliki banyak data. Saya tetap menggunakan custom table untuk menyimpan data pada MySQL.
Penggunaan custom table juga sangat bermanfaat pada saat reporting, terutama dalam hal fungsi aggregate ( SUM, COUNT, dst )
Untuk membuat custom table, WordPress sudah menyediakan fungsi dbDelta untuk membuat tabel on the fly yang dapat Anda panggil ketika plugin diaktivasi.
Untuk menyimpan data ke tabel, WordPress juga sudah menyiapkan fungsi-fungsi terkait penggunaan basic CRUD. Berikut adalah contoh penerapannya.
Bagi saya salah satu PR besar dalam membangun aplikasi berbasis web adalah membuat frontend untuk end-user (admin sistem dan pegawai/pengguna aplikasi selain admin). Halaman wp-admin hanya saya berikan kepada user developer untuk melakukan pengaturan-pengaturan terkait aplikasi dan WordPress.
Dalam beberapa kasus, saya melakukan hand coding sendiri untuk menampilkan datatable, membuat form-form atau menampilkan laporan. Namun untuk mempercepat proses pengembangan saya juga menggunakan plugin WP Datatables dan Advanced Forms Pro.
Selain fungsi-fungsi diatas, ada banyak hal lain yang dapat ditangani oleh WordPress untuk kebutuhan sistem Anda. Contoh yang paling sering digunakan ada mail sending, menu system dan fungsi utama WP yaitu modul Content Management System (CMS) untuk membuat post dan page.
WordPress dibangun menggunakan bahasa pemrograman PHP, dengan demikian kita dapat menggunakan library-library lain yang juga ditulis menggunakan PHP seperti mPDF untuk generate file PDF atau PhpSpreadsheet untuk manipulasi file spreadsheet (misal Excel).
Untuk mengintegrasikan library-library pihak ketiga, saya menggunakan Composer sebagai tool untuk dependency manager. Contoh penggunaan Composer pada WordPress silahkan cek tutorial ini.
Selain library PHP, WordPress juga menggunakan library-library javascript seperti jQuery & jQuery UI, underscore.js dan backbone.js. Anda dapat memanfaatkannya untuk frontend development tanpa harus meng-include-kannya pada custom theme/plugin.
Package manager untuk front end development (seperti Grunt, Gulp atau Bower) juga dapat Anda gunakan pada custom theme/plugin.
Apakah Anda tertarik untuk membangun sistem informasi berbasis WordPress ?
Happy WordPressing 🙂
Mantap
Itu code2nya di taro di mana om??
di banyak tempat... btw, ini bukan tutorial pemograman, jadi cuma potongan kode aja sebagai contoh/referensi.
Menarik sekali, cms WP umur lama bnget dan awet, sy hny pengguna cms saja sejak lama dimanjakan oleh plugin2 saja. Perlu explore lbh dalam seprtinya jk mau custome.
Betul... untuk kustomisasi tingkat lanjut baiknya sudah paham tentang PHP, SQL & Javascript/jQuery sih terutama kalau mau jadi WordPress developer.
om, untuk mengcustom admin agar tidak identitas wordpressnya apakah ada pluginnya, atau full main di frontend/theme?
saya belom cek ada pluginnya atau ngga sih, kalau admin theme (berbentuk plugin) ada, cuma tetap terlihat seperti WP (halaman yg diakses wp-admin juga)
pakai wp-security
apakah bisa bantu custom wordpress multisite?
coba kebutuhannya diinfo ke email yerie@Yerie Piscesa.com atau WA 081314997198