Skip to content

Instantly share code, notes, and snippets.

@tajidyakub
Last active March 29, 2018 07:41
Show Gist options
  • Save tajidyakub/fa4c7475a00c0f0acf14fddaa6852fe6 to your computer and use it in GitHub Desktop.
Save tajidyakub/fa4c7475a00c0f0acf14fddaa6852fe6 to your computer and use it in GitHub Desktop.
Contoh kasus custom fields di WordPress dan implementasi Plugin Eksisting untuk pengelolaan konten

Custom Fields di WordPress dan Implementasi Plugin Eksisting untuk pengelolaan

Wilayah pemahaman yang diharapkan;

  • Kondisi yang membutuhkan Custom Fields di WordPress
  • Menambahkan field di dalam WordPress Post melalui fasilitas yang disediakan
  • Menampilkan custom field yang sudah didefinisikan ke Frontend
  • Konsistensi dengan menggunakan Advanced Custom Fields

Hasil dari implementasi yaitu kemampuan untuk

Kebutuhan terhadap Custom Fields di WordPress

Struktur umum Post di WordPress

  • Title
  • Author
  • Categories
  • Tags
  • Body
  • Excerpt
  • Slug

Bagian dari post tersebut masuk ke dalam internal core WordPress dan masing-masing memiliki fungsi sendiri yang sudah terintegrasi dengan hooks yang disediakan WordPress secara default. Struktur umum tersebut masuk ke dalam core WordPress sebagai elemen-elemen yang pasti ada di dalam sebuah Post berdasarkan definisi internal.

Meta data dan Codex WordPress

Struktur konten di dalam sebuah situs web akan tergantung kepada jenis konten, pola penyajian serta target audience, dengan demikian bersifat subyektif dan terikat erat dengan entitas dari situs web tersebut. WordPress sebagai sebuah conten framework yang sudah cukup mature menyediakan fleksibilitas yang cukup bagi penggunanya untuk melakukan modifikasi terhadap struktur content tanpa menyentuh kode program melalui Custom Fields.

Referensi mengenai Custom Fields di WordPress Codex

Fitur yang disediakan untuk memungkinkan author menyimpan informasi tambahan terhadap sebuah Post ini disebut sebagai meta-data, melalui konsistensi serta perencanaan tepat sasaran akan memberikan nilai tambah yang signifikan kepada pengunjung / pengguna web site. Implementasi out of the box dapat dipelajari melalui halaman Codex WordPress.

Pemanfaatan Custom Fields secara optimal

Kebutuhan akan custom fields dapat banyak ditemukan di situs web bukan blog personal yang menggunakan WordPress sebagai Content Management Framework namun belum banyak yang dapat memanfaatkan custom fields secara optimal. Untuk dapat memanfaatkan secara optimal, dibutuhkan beberapa pemahaman ekstra sebagai berikut;

  • Paham mengenai bagaimana WordPress Content dirender melalui file template
  • Secara spesifik dapat menempatkan konten tambahan tersebut di dalam template yang sesuai dengan posisi dan pengaturan tampilan sesuai dengan yang diinginkan melalui post meta dan tentunya HTML, CSS juga sedikit Javascript
  • Dapat melakukan modifikasi di Admin Interface untuk memastikan konsistensi terhadap penambahan post meta - baik secara manual maupun dengan menggunakan plugin eksisting

Contoh kasus kebutuhan atas Custom Fields

Misalkan sebuah Post yang mendeskripsikan mengenai Konser Musik (event) akan membutuhkan post meta tambahan minimal sebagai sebagai berikut;

  • Artists / Bands - Nama band / artis atau kumpulan artis (array), string atau array of strings
  • Date - Informasi waktu / date - d m Y
  • Gate Open - Informasi waktu - H:i Timezone
  • Location - Informasi lokasi - string / map data
  • Ticket Price - Informasi harga tiket - string atau integer dengan appended string (currency)
  • Ticket Box - Informasi rujukan ticket box - string dalam format url

Masing-masing dari post meta akan memiliki tipe field tersendiri dari kacamata programming maupun dari sudut pandang WordPress sebagai framework yang nantinya akan menyimpan post meta tersebut ke dalam database internal. Kita juga memiliki pilihan untuk membuat database terpisah terkait dengan modifikasi meta yang kita lakukan, namun dengan memanfaatkan fitur internal yang disediakan WordPress kita dapat memanfaatkan semua kelebihan lain yang ditawarkan oleh WordPress seperti misalnya internal query, template hooks dan plugins.

Selain itu post yang memuat konten berupa konser musik tersebut dapat memiliki post meta tambahan sebagai berikut;

  • Concert Posters / Banners
  • Promotors
  • Descriptions
  • Ticket Quotas
  • Dll

Menambahkan Meta Data melalui Custom Fields

Implementasi post meta mana yang masuk sebagai inti dan mana yang merupakan tambahan misalnya dapat diterapkan sebagai required fields ketika melakukan entry data intuk sebuah post.

Buat sebuah post yang memiliki karakter informasi seperti di atas sebagai contoh dengan memanfaatkan fitur internal WordPress. Field validation dalam hal ini masih dilakukan secara manual.

Custom Fields

Lengkapi informasi di atas atau silahkan pilih kondisi custom fields yang lainnya untuk kemudian ditampikkan di template.

Data yang dimasukkan melalui custom fields tersebut akan masuk ke dalam penyimpanan internal WordPress dan dapat dimanfaatkan bersamaan dengan post tersebut, looping dan template hooks.

Tampilkan Custom Fields di Template

Melalui halaman codex dapat dipelajari cara untuk menampilkan Post Meta di halaman depan, silahkan dicoba untuk menampilkan Post Meta yang sebelumnya dimasukkan melalui custom fields ke template.

Contoh function untuk menampilkan semua post meta yang ada:

<?php
// Di dalam WordPress loop.

the_meta();

Hooks dengan awalan the_ akan secara otomatis menampilkan, berbeda dengan hooks yang dimulai dengan get_the yang akan mengambil value dari dalam internal database. Manfaatkan hook get_the untuk menampilkan post meta kita sesuai dengan pengelompokkan yang kita inginkan.

Implementasi Advance Custom Field (ACF) untuk Konsistensi

Pelajari pemanfaatan ACF di Admin interface untuk konsistensi post meta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment