Panduan cara membuat lebih tepatnya menampilkan multiple post dari beberapa kategori yang berbeda. Contoh akhirnya bisa anda lihat pada posisi sidebar kiri di halaman : Daftar domain murah Indonesia.
Langkah-langkah
1. Membuat variable
Pada kode di bawah ini 1, 2, 3 merupakan ID dari kategori, dan akan tampil sebanyak 7 post.
$q = new WP_Query (array('cat' => array(1, 2, 3), 'posts_per_page' => 7));
2. Membuat pernyataan kondisional
Statement if hasil query ($q
) ditemukan post di dalam kategori ID 1, 2, 3, maka akan tampil semua post yang berada di dalam kategori tersebut dan dibatasi sebanyak 7 post (posts_per_page => 7
).
if($q->have_posts()){ ?> <?php while ($q->have_posts()): $q->the_post(); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a> <?php endwhile; ?>
Fungsi untuk restore global varibale $post
<?php wp_reset_postdata(); ?>
Sebaliknya, jika tidak ada postingan di dalam kategori ID 1, 2 dan 3, maka widget tidak akan menampilkan post.
<?php } else { ?> <?php } ?>
Kode selengkapnya
Tempatkan kode berikut di dalam file sidebar.php pada template wordpress anda. Ganti array(1, 2, 3)
sesuaikan dengan ID kategori.
$q = new WP_Query (array('cat' => array(1, 2, 3), 'posts_per_page' => 7)); if($q->have_posts()){ ?> <h3 class="widgettitle">Promo</h3> <ul class="realatedpost"> <?php while ($q->have_posts()): $q->the_post(); ?> <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </ul> <?php } else { ?> <?php // tampilkan yang lain ?> <?php } ?>
Semoga bermanfaat.