Menampilkan Multiple Post dari Kategori yang Berbeda di WordPress

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.

Add a comment