Meta_Query WordPress: Semua yang Perlu Anda Ketahui
Diterbitkan: 2022-04-30Salah satu alat paling kuat di WordPress adalah kemampuan untuk menambahkan bidang khusus ke posting. Banyak pengembang menggunakan Bidang Kustom Tingkat Lanjut atau bidang meta khusus untuk posting.
Dalam posting ini kita akan membahas cara membuat kueri posting dengan bidang khusus menggunakan fungsi meta_query di WordPress. Ini berguna untuk situs dengan banyak fungsi khusus.
Posting Kueri Dengan Nilai Meta
Mungkin cara paling populer untuk menanyakan posting dengan bidang khusus menargetkan satu nilai meta tertentu. Misalnya, katakanlah kita memiliki situs di mana postingan memiliki bidang khusus yang digunakan untuk menentukan apakah sebuah postingan "diunggulkan". Ini biasa terjadi saat membuat bagian unggulan di situs WordPress.
Tentu saja kode di atas akan bervariasi tergantung pada apa yang Anda beri judul pada bidang dan kunci meta Anda, tetapi 'kunci' adalah nama bidang khusus sedangkan 'nilai' adalah apa yang kami mintai posting. Bidang 'bandingkan' digunakan untuk berbagai operasi perbandingan yang akan kita bahas nanti di posting.
Menggunakan ini di WP_Query akan memungkinkan kita mendapatkan array yang bagus untuk fungsi loop untuk menampilkan posting. Dalam posting ini kita hanya akan membahas fungsi meta_query daripada cara menampilkan output WP_Query.
Posting Kueri Dengan Beberapa Nilai Meta
Jika Anda ingin memeriksa nilai kunci meta terhadap beberapa nilai, sebaiknya gunakan operator 'IN'.
Posting Kueri Dengan Beberapa Kunci Meta
Sekarang setelah kita menanyakan posting dengan satu kunci meta, mari kita lakukan satu dengan beberapa bidang/kunci yang ditanyakan. Ini akan memungkinkan Anda untuk menanyakan posting berdasarkan beberapa bidang khusus. Contoh ini menggabungkan kedua hal yang kami lakukan di atas dengan menyarangkan kueri ke dalam array dan menambahkan 'relasi' ke meta_query.
Bidang 'relasi' dapat disetel ke 'DAN' atau 'ATAU' sehingga Anda dapat mewajibkan semua ketentuan dipenuhi atau hanya satu.
Operator Perbandingan Kueri Meta
Ada beberapa operator yang akan membantu dalam mengkueri postingan Anda dengan meta query. Berikut adalah rincian singkat dari masing-masing operator perbandingan dan bagaimana Anda dapat menggunakannya.
- '=' Kueri kunci meta yang sama dengan nilai meta
- '!=' Kueri kunci meta yang TIDAK sama dengan nilai meta
- '>' Kueri kunci meta yang lebih besar dari nilai meta
- '>=' Kueri kunci meta yang lebih besar dari & sama dengan nilai meta
- '<' Kueri kunci meta yang kurang dari nilai meta
- '<=' Kueri kunci meta yang kurang dari & sama dengan nilai meta
- Kunci meta kueri 'LIKE' yang berisi kata/frasa (misalnya menanyakan "merah" akan cocok dengan frasa "Merah", "terlihat merah", dan "gaya merah")
- 'TIDAK SEPERTI' Kebalikan dari di atas
- 'IN' Kueri kunci meta di mana nilainya ada dalam array
- 'TIDAK DALAM' Kueri kunci meta di mana nilainya tidak ada dalam array
- 'BETWEEN' Kueri kunci meta di mana nilainya berada di antara dua angka
- 'NOT BETWEEN' Kueri kunci meta di mana nilainya bukan di antara dua angka
- 'EXISTS' Kueri kunci meta di mana nilainya ada sama sekali
- 'TIDAK ADA' Kueri kunci meta di mana nilainya tidak ada sama sekali
- 'REGEXP' Kueri kunci meta berdasarkan ekspresi reguler
- 'NOT REGEXP' Kebalikan dari REGEXP di atas
Cara Mengurutkan Posting Berdasarkan Meta Fields
Tentu saja WordPress memungkinkan Anda mengurutkan posting menggunakan bidang khusus Anda menggunakan opsi 'orderby' di WP_Query. Anda harus mengatur 'orderby' menjadi 'meta_value' dan kemudian menetapkan nilai 'meta_key' ke nama bidang Anda. Secara default, ini paling berguna ketika ingin kueri Anda kembali menurut abjad atau diurutkan berdasarkan nomor ketika bidang Anda adalah angka.