Lakukan Query di WordPress dengan WP_Query

Diterbitkan: 2023-02-12

Basis data yang memberi makan situs web WordPress Anda penuh dengan informasi berharga. Inilah yang memungkinkan untuk memfilter posting dan halaman Anda dengan banyak variabel berbeda. Namun, jika apa yang ingin Anda tampilkan bukan bagian dari tema Anda, ada cara lain untuk menggunakan data tersebut.

Di sinilah WP_Query masuk. Ini adalah kelas PHP yang menggunakan berbagai macam parameter. Akibatnya, ini memungkinkan Anda menarik data dari database WordPress untuk digunakan atau ditampilkan di situs web Anda.

Pada artikel ini, kami akan memberikan pemahaman yang lebih mendalam tentang kelas WP_Query dan bagaimana penggunaannya. Kami juga akan memandu Anda melalui beberapa langkah penting untuk diikuti saat menggunakannya. Jika Anda siap, mari selami!

Daftar isi
1. Apa itu WP_Query?
2. Cara Menggunakan WP_Query
2.1. 1. Mulai dengan Custom Loop
2.2. 2. Argumen: Tulang Punggung Query Kustom di WordPress
2.3. 3. Parameter di WP_Query: Kategori, Tag, dan Lainnya
2.4. 4. Modifikasi Objek dengan Metode dan Properti
3. WP_Query vs. query_posts() di WordPress
4. Sesuaikan Situs WordPress Anda dengan Mesin WP

Apa itu WP_Query?

Seperti yang kami sebutkan, WP_Query adalah kelas PHP yang digunakan oleh database WordPress. Kelas khusus ini dapat melakukan beberapa hal, tetapi terutama digunakan untuk menarik posting dari database.

Seperti namanya, itu membuat kueri berdasarkan kriteria yang Anda tetapkan untuknya. Karena ada banyak parameter yang dapat Anda gunakan dengan WP_Query di WordPress, Anda dapat menarik dan menampilkan postingan dengan berbagai cara unik. Kami akan menjelajahi opsi tersebut secara lebih rinci nanti di pos ini.

Cara Menggunakan WP_Query

Bahkan jika Anda baru mempelajari berbagai aspek basis kode WordPress, WP_Query adalah kelas yang bagus untuk memulai. Sekarang, mari kita uraikan empat cara berbeda untuk menggunakannya di situs web Anda.

1. Mulai dengan Custom Loop

Salah satu cara terbaik untuk mengetahui panggilan WP_Query adalah melalui WordPress Loop. Jika Anda tidak terbiasa dengan apa itu Loop, ini adalah konsep penting untuk dibaca.

Loop adalah panggilan ke database yang meminta konten posting, dan menampilkan data yang dikembalikan. Ini juga berfungsi berdasarkan parameter yang ditetapkan, seperti berapa banyak posting yang Anda inginkan untuk ditampilkan situs Anda pada satu halaman (sesuatu yang dapat Anda konfigurasikan di menu Pengaturan> Membaca ).

Dasar-dasar Loop terlihat seperti ini:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

Pernyataan sederhana ini pada dasarnya mengatakan bahwa jika ada posting, itu harus ditampilkan. Tentu saja, Anda dapat menambahkan berbagai macam tag template ke fondasi ini, untuk membuat tampilan yang Anda inginkan.

Anda juga dapat memasukkan WP_Query ke dalam Loop. Ini memungkinkan Anda untuk menempatkan parameter pada posting apa yang akan dikembalikan. Mari kita uraikan seperti apa tampilannya:

<?php

// The Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

Anda akan melihat pernyataan if/while yang sama dari Loop dasar, tetapi ada string WP_Query tambahan. Parameter apa pun yang ditetapkan di sini akan menentukan postingan apa yang akan ditampilkan.

Misalnya, jika Anda ingin mengecualikan penulis tertentu dari daftar postingan, Anda dapat melakukannya di Loop dengan WP_Query:

$query = new WP_Query( array( 'author' => -12 ) );

Dengan menempatkan ini di Loop, posting Anda yang ditampilkan tidak lagi menyertakan pengguna dengan nomor penulis "12".

Jumlah parameter yang dapat Anda gunakan dengan metode ini tidak terbatas. Anda dapat menyertakan informasi kategori serta taksonomi tingkat lanjut, hanya untuk memberikan dua contoh.

2. Argumen: Tulang Punggung Query Kustom di WordPress

Pada contoh sebelumnya, Anda mungkin memperhatikan “($args)” sebagai bagian dari string. Ini adalah bagian penting dari kueri yang mengacu pada 'argumen' yang disertakan. Ini memberi tahu database dengan tepat apa yang harus disertakan dalam data yang dikembalikan.

Pada dasarnya, argumen ini dapat diatur untuk menentukan hasil persis yang ingin Anda tampilkan. Argumen juga dapat digunakan untuk mengubah nilai variabel. Misalnya, jika Anda ingin mengubah tampilan daftar kategori di halaman, Anda bisa menggunakan argumen.

Argumen Anda akan menentukan array variabel dan nilai. Jadi jika Anda mau, Anda bisa menggunakan argumen untuk mendefinisikan array dan memberi tahu database Anda untuk menyajikan kategori dalam urutan menurun. Selain itu, Anda dapat menggunakan metode yang sama untuk mengecualikan kategori yang tidak berisi postingan.

3. Parameter di WP_Query: Kategori, Tag, dan Lainnya

Sampai saat ini, kami hanya menyebutkan parameter secara sepintas. Pada titik ini, mari kita lihat lebih dekat apa yang sebenarnya bisa mereka lakukan. Fungsi utamanya adalah untuk memungkinkan Anda menarik koleksi posting yang dirancang khusus.

Salah satu contoh parameter yang dapat digunakan di header situs Anda adalah parameter Kategori. Anda dapat menggunakan ini untuk menentukan kategori tertentu untuk ditampilkan. Ini dilakukan dengan memberikan nomor atau slug kategori yang relevan.

Selain itu, Anda dapat melakukan hal yang sama dengan parameter Tag. Tentu saja, parameter Kategori dan Tag hanyalah puncak gunung es saat menggunakan WP_Query.

4. Modifikasi Objek dengan Metode dan Properti

Meskipun tidak disarankan untuk langsung mengubah properti kelas seperti WP_Query, Anda dapat berinteraksi dengannya menggunakan metode. Pada dasarnya, metode seperti fungsi, sedangkan properti setara dengan variabel.

WP_Query memiliki banyak properti. Mulai dari properti “$posts” sederhana hingga properti yang lebih rumit. Metode apa pun yang digunakan untuk berinteraksi dengan mereka, data akan dikembalikan berdasarkan parameter yang Anda pilih untuk diterapkan.

WP_Query vs. query_posts() di WordPress

Perlu diperhatikan bahwa ada cara lain untuk mengubah kueri utama di laman Anda. Ini adalah fungsi query_posts(). Meskipun ini bisa bekerja dengan cara yang mirip dengan WP_Query, ini juga bisa sangat bermasalah.

Referensi Kode WordPress bahkan sangat menyarankan agar Anda tidak menggunakan fungsi ini di dalam Loop utama situs web Anda. Sebaiknya hindari juga di plugin dan tema. Ini karena itu akan sepenuhnya mengesampingkan permintaan utama Anda.

Kelas WP_Query lebih disukai, karena Anda juga dapat 'mengatur ulang' Loop utama setelah Anda menjalankan kueri. Karena WP_Query memungkinkan Anda menjalankan beberapa kueri dalam satu lingkaran, Anda juga ingin memahami cara mengimplementasikan fungsi wp_reset_postdata.

Jika Anda menyematkan loop sekunder di dalam Loop WordPress utama, fungsi reset akan ditempatkan di bagian akhir dan terlihat seperti ini:

<?php wp_reset_postdata(); ?>

Ini akan mengembalikan tag template default, dan Anda akan kembali ke keadaan sebelum loop sekunder Anda dimulai.

Sesuaikan Situs WordPress Anda dengan Mesin WP

Mampu menyesuaikan cara item ditampilkan di situs web Anda hanyalah salah satu keuntungan menggunakan WordPress. Memahami WP_Query dan memanfaatkan alat yang disediakan di halaman sumber daya pengembang dapat membantu Anda membangun situs web yang benar-benar disesuaikan.

Di sini, di WP Engine, kami sangat ingin memastikan Anda memiliki sumber daya yang diperlukan untuk membangun situs web yang menarik. Lihat solusi WordPress dan paket hosting kami hari ini!