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.