7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. WordPress

Menguasai WP_Query: 10 Contoh Berguna

Scroll to top
Read Time: 10 mins
This post is part of a series called Mastering WP_Query.
WP_Query Arguments: Author, Search, Password & Permissions
Combining WP_Query With the Main Query

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Sekarang setelah kita mempelajari hampir semua hal tentang kelas WP_Query, saatnya untuk mencoba beberapa contoh. Pada bagian ini, kita akan mengerjakan 10 skenario yang berbeda untuk memanfaatkan kelas WP_Query dan fungsi terkait.

Ini akan menjadi latihan yang menyenangkan dan saya berharap hal itu akan sama-sama mendidik. Mari kita mulai!

Pengingat Cepat Pada Pembuatan Loop dengan WP_Query

Hanya untuk membuat artikel ini dapat dimengerti secara terpisah dari rangkaian "Menguasai WP_Query", saya harus melakukan nano-tutorial pada pembuatan loop WordPress dengan kelas WP_Query.

Ini tidak berbeda dengan membuat loop biasa, sungguh. Loop WordPress yang khas seperti ini:

Dan membuat sebuah loop dengan kelas WP_Query hanya memiliki beberapa perbedaan:

Mari kita lihat perbedaan antara keduanya:

  • Kami menetapkan beberapa argumen untuk instance WP_Query kami,
  • Kami menjalankan kelas WP_Query,
  • Kami menambahkan $my_query-> ke awal fungsi have_posts() dan the_post() (jadi mereka sekarang adalah dari kelas WP_Query)
  • Dan kami mereset data dari $post sehingga bisa kembali ke kueri utama.

Sekarang kita tahu cara membuat loop dengan WP_Query dan perbedaan antara loop reguler dan loop yang dibuat dengan WP_Query. Kami tidak akan membuat loop di setiap contoh (untuk menjaga tutorial tetap singkat dan sesuai topik), jadi Anda bisa merujuk ke bagian ini jika Anda perlu membuat loop dengan contoh di bawah ini.

Contoh #1: Posting Penulis di Tahun Ini

Katakanlah Anda ingin membuat daftar posting penulis tertentu yang ditulis pada tahun saat ini di bagian "Posting Penulis Tahun Ini". Kombinasi sederhana dari dua parameter WP_Query sudah cukup:

Kirimkan kueri ini dalam satu loop dan Anda siap untuk pergi!

Contoh #2: "Posting Terbaru dari Kategori Ini" (Kecuali Posting Saat Ini)

Katakanlah Anda ingin membuat sebuah loop di bawah setiap posting di halaman posting tunggal mereka, dan daftar posting terakhir dari kategori di mana posting tersebut berada. Tentu saja, Anda harus mengecualikan posting saat ini jika mungkin itu adalah salah satu posting terakhir dari kategori tersebut. Berikut adalah cara Anda membuat kueri dengan parameter 'cat' dan 'post__not_in':

Untuk loop-nya, saya sarankan membuat tiga atau empat kolom dengan thumbnail posting di atas judul posting. Ini akan terlihat sangat bagus tepat di bawah posting dan sebelum bagian komentar.

Contoh #3: "Posting Paling Populer" Diurutkan Berdasarkan Hitungan Komentar

WordPress tidak memiliki sistem "post view count" bawaan, dan plugin yang menyediakan fungsionalitas ini terkenal memperlambat situs web (karena pada setiap tampilan posting, plugin tersebut menulis di database berulang-ulang untuk merekam hitungan tampilan). Namun, ada jenis pengukuran lain untuk menentukan posting mana yang paling "populer": penghitungan komentar. Dan tidak seperti hitungan tampilan, hitungan komentar sudah berada dalam database—kelas WP_Query membuatnya sangat mudah untuk mengurutkan posting berdasarkan hitungan komentar:

Lihat betapa mudahnya ini? Sekarang bayangkan membuat template halaman kustom dengan sebuah loop yang menjalankan kueri ini—halaman "Most Commented Posts".

Contoh #4: Setup Slider Sederhana

Saat menggunakan WordPress untuk membangun situs web perusahaan, portofolio, majalah web, slider telah menjadi standar industri yang "harus dimiliki". Saya bukan benar-benar penggemar slider (saya pikir itu UX yang buruk) tapi web sepertinya menyukainya, jadi saya tidak bisa mengatakan tidak kepada klien saya saat membuat situs web untuk mereka. Jika mereka menginginkan slider, saya menggunakan kueri sederhana menggunakan kelas WP_Query:

Argumen 'cat' dapat digunakan untuk mengambil slide dari kategori yang berbeda sehingga Anda dapat memisahkan grup slide dan menggunakan banyak slider pada banyak halaman. Jika Anda hanya menggunakan satu slider di situs Anda, Anda dapat menghapus baris itu dan Anda siap untuk pergi.

Contoh #5: Kutipan Acak di Sidebar

Jika Anda tertarik pada sastra atau agama, Anda mungkin ingin memiliki beberapa kutipan favorit Anda di bingkisan—bukan membuang-buang ruang jika Anda menggunakan area ini dengan tujuan. Jadi, jika Anda akan mencantumkan kutipan acak di sidebar pada setiap tampilan halaman, Anda dapat menggunakan cuplikan kode berikut untuk membuat jenis posting dan menggunakan kueri berikut untuk membuat loop di sidebar Anda:

Solusi yang mudah dan elegan.

Contoh #6: Mencantumkan Produk Antara Rentang Harga

Saya menemukan contoh ini di Scribu.net dan saya harus mengatakan, ini mungkin trik WP_Query terbaik dalam tutorial ini. Ini sedikit lebih teknis daripada yang lainnya, karena bisa diterapkan ke situs e-commerce bertenaga WordPress dalam konteks ini.

Berikut cuplikan kode yang akan Anda gunakan jika Anda ingin mencantumkan item dari jenis posting "Product" kustom dan memfilter hasilnya dengan field kustom "price":

Sebuah pujian besar untuk Silviu-Cristian Burca!

Contoh #7: Sebuah Shortcode untuk Me Posting di Dalam Posting

Inilah latihan yang menyenangkan—dan kami juga bisa menggunakan API Shortcode! Dalam contoh ini, kita akan membuat shortcode yang bisa menyematkan posting dalam sebuah posting. (Saya tidak menahan diri untuk menamai shortcode [postception].) Dalam cuplikan kode berikut, kami membuat fungsi shortcode yang memungkinkan kami menyematkan posting (atau jenis posting kustom) dan memungkinkan kami memilih apakah akan menampilkan keseluruhan posting atau hanya sebuah kutipan:

Contoh #8: Daftar Posting Terjadwal Saat Ini (Dengan Kutipan Opsional)

Inilah idenya: Mengapa Anda tidak menampilkan beberapa "bocoran" dari posting Anda yang akan datang ke pengunjung Anda? Anda dapat menggunakan fungsi berikut untuk mencantumkan posting terjadwal Anda dengan atau tanpa kutipan setelah judulnya:

Contoh #9: "Posting Dari Tahun Lalu Hari Ini"

Jika blog Anda lebih tua dari setahun, dan konten Anda abadi (artinya orang dari tahun 2015 dan 2025 akan menemukan artikel yang relevan), menambahkan bagian "Post From a Year Ago Today" dapat meningkatkan tampilan halaman Anda. Begini cara melakukannya:

Gunakan kueri ini untuk membuat sebuah loop yang menampilkan posting tunggal dari tahun sebelumnya.

Contoh #10: Menampilkan Anak dari Halaman Saat Ini

Anda tidak memiliki selain judul sub-halaman untuk dimasukkan ke dalam halaman "Services", "Our Works" atau "My Portfolio"? Mungkin paragraf intro, tapi Anda benar, halaman-halaman itu ditakdirkan menjadi "placeholder". Tetap saja, ada baiknya meletakkan sub-halaman di sana—mungkin sebuah grid dengan thumbnail dan judul di bawahnya. Mari kita lihat kueri mana yang harus kita gunakan saat membuat template halaman seperti itu:

Merangkum

Saya harap Anda menikmati contoh-contoh ini seperti yang saya lakukan saat mempersiapkannya. Saya memberikan perhatian khusus untuk memberikan contoh yang beragam baik untuk menyenangkan dan memicu kreativitas Anda.

Jika Anda memikirkan contoh yang lebih baik saat membaca yang ini, atau memiliki pertanyaan, jangan ragu untuk melemparkan komentar di bawah ini. Dan jika Anda menyukai artikel tersebut, jangan lupa untuk membaginya dengan teman Anda!

Pada bagian selanjutnya, kita akan membahas WP_User_Query, salah satu kelas saudara dari WP_Query. Sampai jumpa!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.