Lingkaran WordPress: Apa itu dan apa yang perlu Anda ketahui tentangnya

Diterbitkan: 2023-10-25

Jika Anda seorang pengembang tema WordPress, pemrogram, atau sekadar penggemar yang ingin mempelajari apa itu loop WordPress, artikel ini cocok untuk Anda! Tanpa basa-basi lagi, mari kita mulai dengan dasar-dasarnya: Apa itu loop?

Loop WordPress adalah kode PHP yang menampilkan postingan WordPress atau sederhananya; ini digunakan dalam berbagai tema untuk menampilkan postingan di halaman web mana pun. Tidak hanya berjalan di sebagian besar halaman yang Anda lihat, tetapi juga memungkinkan Anda untuk memodifikasi dan menyesuaikannya sesuai keinginan Anda.

Loop situs web ini mungkin dapat digunakan untuk membuat daftar postingan berdasarkan jumlah komentar, menampilkan postingan dengan gambar, dan sebagainya.

Saat Anda melihat loop, Anda dapat melihat bahwa beberapa fungsi dijalankan secara default untuk menampilkan postingan. Pengembang tema dapat menggunakan fungsi dan tag templat tersebut untuk menyesuaikan tampilan setiap postingan dalam loop.

Tag template tersebut hanya berfungsi di dalam loop default WordPress, dan digunakan untuk memformat, mengatur, dan mempublikasikan data postingan.

Tidak diragukan lagi, loop WordPress adalah bagian paling penting dari kode WordPress, dan mari kita selami lebih dalam bagaimana situs web Anda melakukan loop.

Perulangan halaman WordPress untuk pemula

Seperti yang telah kami sebutkan, post loop adalah kode yang menampilkan semua informasi yang dimiliki WordPress tentang sebuah postingan atau postingan. Ini berjalan di latar belakang melalui setiap posting, dan menemukan database satu per satu, yang memungkinkannya memberikan informasi tentang semua posting yang ditemukan.

Berikut adalah contoh cara kerja loop through posts di WordPress:

  1. Anda memulai perulangan,
  2. mengambil tindakan terhadap setiap postingan atau halaman yang ditemukan,
  3. tutup lingkarannya.

Ketiga langkah ini mewakili logika dasar di balik perulangan. Mulai titik ini, Anda bisa berkreasi dan memfilter postingan yang Anda temukan dengan menggunakan kueri. Kueri tersebut memberi tahu loop apa yang kita cari. Dalam contoh kita, akan terlihat seperti ini:

  1. tentukan apa yang kita cari,
  2. memulai putaran,
  3. mengambil tindakan terhadap setiap postingan atau halaman yang ditemukan,
  4. tutup lingkarannya.

Jika Anda memiliki pengalaman dengan kode PHP, Anda mungkin akrab dengan fungsi “sementara” yang digunakan dalam loop untuk menjalankan kueri database dan menampilkan informasi secara dinamis tanpa harus memasukkan setiap baris database secara manual.

Perulangan while WordPress bekerja dengan cara yang sama.

Contoh loop WordPress standar

Di bawah ini adalah contoh loop WordPress standar yang dapat digunakan di halaman mana pun.

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
// Post display here
<?php endwhile ?>
<?php else : ?>
// Content if there are no posts to show
<?php endif ?>

Lihatlah fungsi has_posts() dan the_post() . Yang pertama menentukan apakah ada postingan yang akan ditampilkan, dan yang kedua menyiapkan data dan titik internal yang membantu fungsi has_posts() .

Jika tidak ada yang ditampilkan, maka fungsi tersebut akan menampilkan pesan yang memberi tahu pengguna.

Jika ada postingan yang kita cari, maka loop akan menampilkannya satu per satu.

Di sini, miliki blok kode yang benar-benar akan menampilkan postingan, terserah kami!

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><a href='<?php the_permalink() ?>'><?php the_title() ?></a></h2>
<div class='post-excerpt'>
<?php the_excerpt() ?>
</div>
<div class='post-meta'>
<time><?php the_time( 'Ymd' ) ?></time>
<?php if ( has_category() ) : ?>
<span class='post-categories'><?php the_category( ', ' ) ?></span>
<?php endif ?>
</div>
</div>
<?php endwhile ?>
<?php else : ?>
<h2>There are no posts here</h2>
<p>Do you want to go back to the <a href='<?php echo site_url() ?>'>home page?
<?php endif ?>

Konten yang ditampilkan di sini ditentukan oleh kueri yang telah kita bicarakan, dan cara konten tersebut ditampilkan bergantung pada loop. Jumlah penyesuaian ini luar biasa dan itulah yang membuat WordPress menonjol.

Kerja bagus! Sekarang Anda tahu apa itu post loop!

Menggunakan kode untuk mengubah kueri utama

Sebelum memulai, kami harus memperingatkan Anda bahwa mengubah kueri utama dapat menimbulkan konsekuensi yang tidak diinginkan jika Anda tidak tahu apa yang Anda lakukan. Berhati-hatilah saat bereksperimen!

Kita harus melihat kaitannya jika kita ingin memodifikasi fungsionalitas inti. Pengait memungkinkan kita mengubah panjang teks, mengubah layar login, menyusun ulang pesan kesalahan, mengubah jenis kiriman khusus, dan banyak lagi.

add_action( 'pre_get_posts', 'my_exclude_category' );
function my_exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-92' );
}
}

Perhatikan bahwa kita menggunakan hook pre_get_post untuk mengubah parameter kueri utama sebelum dijalankan. Kode di atas melakukan hal yang sama seperti sebelumnya, tapi kali ini mengecualikan kategori 92 dari halaman beranda kami. Oleh karena itu, kueri utama diubah

Lihatlah fungsi is_home() dan is_main_query() . Mereka ada di sini untuk memastikan bahwa kueri hanya diubah di halaman beranda dan jika itu adalah kueri utama.

Berikut kode lain yang dapat berguna dalam loop blog WordPress.

Katakanlah seorang penulis di situs web Anda telah menjiplak sebagian (atau seluruh) kontennya, dan Anda ingin menghapus semua postingannya secara permanen, atau hingga masalahnya teratasi.

Caranya bisa dengan menambahkan kode seperti ini:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
$query->set( 'author', '-23' );
}

Dengan fungsi bersyarat ini Anda menghapus postingan penulis dari situs web dan backend Anda. Anda dapat menemukan semua tag kondisional di Codex WordPress. Inilah tampilan kode terakhir pada akhirnya:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
if( !is_admin() ) {
$query->set( 'author', '-23' );
}
}

FAQ tentang lingkaran WordPress

Apa sebenarnya loop WordPress itu?

Ya ampun, ini membawaku kembali! Jadi, pada intinya, loop WordPress adalah mesin WP yang menampilkan konten dari database di situs Anda.

Ini adalah inti dari banyak templat WP dan memberi tahu sistem postingan atau halaman mana yang akan ditampilkan dan dalam urutan apa. Anggap saja sebagai DJ pesta WordPress Anda, memilih lagu (atau postingan) yang tepat untuk tamu Anda.

Mengapa loop sangat penting dalam pengembangan tema?

Ah, pengembangan tema , teka-teki yang menyenangkan setiap saat! Loop ini seperti tulang punggung tema WordPress. Tanpanya, tema Anda akan menjadi film bisu tanpa alur cerita.

Itu mengambil konten berdasarkan parameter WP_Query , dan melalui tag templat , Anda dapat menyesuaikan apa dan bagaimana konten ditampilkan. Pernah mendengar tema dengan gaya khusus untuk postingan tertentu? Ya, itulah keajaiban loop yang bekerja.

Bagaimana hubungan WP_Query dengan loop?

Baiklah, selami bersamaku di sini. WP_Query adalah kelas yang mendefinisikan dan mengambil konten. Perulangan kemudian melewati hasil yang dikembalikan WP_Query.

Bayangkan WP_Query sebagai koki yang menyiapkan hidangan, sementara loop menyajikannya kepada tamu Anda. Dan dengan jenis pos dan taksonomi khusus , koki ini dapat menyiapkan beragam hidangan yang mengesankan!

Apa perbedaan antara has_posts() dan the_post()?

Pertanyaan klasik! has_posts() memeriksa apakah masih ada postingan tersisa di kueri untuk diulang. Ini seperti bertanya, “Hei, ada lagu lagi di playlist itu?”

Sementara itu, the_post() menyiapkan postingan saat ini, sehingga Anda siap menampilkan detailnya. Ini mirip dengan memutar lagu berikutnya. Keduanya sangat penting dalam dance loop.

Bagaimana cara menyesuaikan postingan apa yang muncul di loop?

Ah, kekuatan penyesuaian! Untuk mengubah postingan mana yang muncul, Anda mengubah parameter WP_Query atau menggunakan filter pre_get_posts .

Baik itu perulangan kategori , perulangan tag , atau kueri khusus lainnya, ada banyak hal yang dapat Anda lakukan. Ingin menampilkan postingan dari kategori tertentu? Atau mungkin mengurutkannya berdasarkan bidang khusus ? Dunia adalah tirammu!

Bisakah saya memiliki banyak loop dalam satu halaman?

Anda betcha! Beberapa loop adalah suatu hal, terutama bila Anda menginginkan bagian yang berbeda, seperti daftar artikel utama diikuti oleh sidebar dengan posting terbaru.

Anda hanya perlu mengatur ulang loop dengan wp_reset_postdata() setelah setiap WP_Query khusus. Dan dengan bagian template , menjadi lebih terorganisir. Ingatlah untuk tidak berlebihan – tidak ada yang menyukai pesta yang berantakan!

Apa yang dimaksud dengan tag kondisional dalam konteks perulangan?

Jadi, tag kondisional adalah penjaga gerbang perulangan. Mereka memungkinkan Anda mengontrol di mana dan kapan konten tertentu ditampilkan.

Anda mungkin menggunakannya untuk menampilkan konten hanya pada satu postingan, atau mungkin hanya dalam taksonomi tertentu. Mereka seperti penjaga klub WP Anda, memutuskan siapa yang masuk berdasarkan daftar tamu.

Bagaimana cara menambahkan penomoran halaman ke loop?

Ah, penomoran halaman, seni untuk tidak membuat pengunjung Anda kewalahan! Dengan menggunakan fungsi pagination , Anda dapat membagi postingan Anda menjadi beberapa halaman.

Daripada menampilkan daftar postingan yang tidak ada habisnya, berikan waktu istirahat kepada pengguna Anda. Fungsi seperti paginate_links() atau tautan klasik “berikutnya dan sebelumnya” membantu di sini. Karena, jujur ​​saja, tidak ada yang mau menggulir selamanya.

Mengapa saya perlu mengubah kueri utama?

Bagus! Terkadang, pengaturan default tidak cukup. Mungkin Anda ingin beranda Anda hanya menampilkan jenis kiriman khusus tertentu atau mengecualikan kategori tertentu.

Dengan menggunakan tindakan pre_get_posts , Anda dapat mengubah kueri utama tanpa menulis kueri baru. Ini seperti menyesuaikan pengaturan utama pada stereo Anda untuk mendapatkan suara yang sempurna.

Apa yang terjadi jika ada masalah dengan loop saya?

Oof, pernah ke sana! Jika ada gangguan pada loop, situs Anda mungkin tidak menampilkan konten, atau lebih buruk lagi, menimbulkan kesalahan. Selalu backup sebelum mengutak-atik. Periksa parameter WP_Query dan hierarki templat Anda.

Dan jika semuanya gagal, Codex WordPress dan forum komunitas adalah tambang emas untuk pemecahan masalah. Ingat, setiap pengembang menghadapi masalah yang mengganggu setidaknya sekali. Anda dapat ini!

Mengakhiri pemikiran tentang loop WordPress

Menggunakan loop WordPress adalah cara terbaik untuk menyesuaikan postingan, halaman, atau sederhananya – situs web Anda. Perulangan ini mengharuskan Anda memiliki pemahaman dasar tentang cara kerja WordPress dan logika kode.

Kecuali Anda ingin melakukan tes cepat, kami tidak menyarankan penggunaan fungsi query_posts(). Anda dapat menggunakan berbagai kait jika Anda perlu mengubah kueri asli. Selalu berhati-hati saat mengubah kode loop WordPress.

Kami berharap artikel ini menjadi langkah awal yang baik menuju penguasaan loop WordPress Anda!

Jika Anda menikmati artikel tentang loop WordPress ini, Anda juga harus membaca ini:

  • Kesalahan 504 di WordPress: Cara memperbaikinya
  • 12 Tips Membuat Plugin atau Tema WordPress Premium yang Sukses
  • Bagaimana Memanfaatkan Caching Browser di WordPress? Langkah-Langkah yang Harus Diikuti