Postingan lainnya
bagaimana cara membuat filter di wordpress ?
cara buat seperti di gambar untuk wordpress bagaimana ya ?
jadi nanti pas kita ceklist trus submit , nanti postingan yang muncul dari yang kita ceklist tersebut , contohnya blogger , yang muncul postingan tentang blogger .
makasih banyak
3 Jawaban:
Wah, jawabannya tidak semudah pertanyaannya :=), tapi untuk mempermudah, jawabannya ini harus dibreakdown menjadi beberapa bagian atau tahapan:
- Anggap saja filternya berdasarkan kategori. Jadi, yang harus dilakukan adalah membuat sebuah form filter dengan field semua kategori dengan post. Misalkan:
<pre> <form action="/" method="GET"> <form action="/" method="GET"> <?php $terms = get_terms( array( 'taxonomy' => 'category', 'hide_empty' => true ) ); ?> <?php if ( !empty( $terms ) ) : ?>
<?php foreach( $terms as $term ): ?>
<label> <input type="checkbox" name="topics[]" value="<?php echo esc_attr( $term->term_id ); ?>"/><?php echo $term->name; ?> </label>
<?php endforeach; ?>
<?php endif; ?> <button type="submit">Submit</button> </form> </pre>
Sampai disini formsnya sudah selesai, setelah itu membuat sebuah query dari form yang nantinya akan disubmit:
- Membangun sebuah query dari form yang disubmit:
Karena form menggunakan metode GET, maka kita akan membangun querynya seperti ini:
<pre> <?php if ( isset( $_GET['topics'] ) ) : ?>
$topics = $_GET['topics']; $topics_query = new WP_Query( array( 'category__in' => $topics, 'post_type' => 'post', 'post_status' => 'publish', 'ignore_sticky_posts' => 1 ) ); if ( $topic_query->have_posts() { while ( $topic_query->have_posts() ) : $topic_query->the_post(); the_title(); endwhile; }
<?php endif; ?> </pre>
Tentu, saya belum melakukan tes dengan kode saya ini. Namun ini merupakan pondasi dari jawaban yang ditanyakan. Mas bisa terus mengembangkan kode tersebut, dan tetap mempelajari serta memahami maksud dari tiap-tiap barisnya di sekolah koding ini :)
@tompradana : sebelumnya terimakasih banyak udah bantu , tapi ada masalah sedikit , pas saya pilih salah satu , yang muncul post dari category yang saya pilih (1) tersebut , tapi kalau saya pilih 2 atau tiga , yang muncul pasti post dari salah satu category , bukan dari semua kategori yg saya pilih .
solusinya gmna ya ?
Jawaban Terpilih
Selamat malam mas...
Saya baru saja mencoba kode saya diatas, output topicsnya bukan berupa array ya... padahal parameter category__in itu membutuhkan value yang berupa array.
Jadi saya update fieldnya dari
<pre> <label> <input type="checkbox" name="topics" value="<?php echo esc_attr( $term->term_id ); ?>"/><?php echo $term->name; ?> </label> </pre>
menjadi
<pre> <label> <input type="checkbox" name="topics[]" value="<?php echo esc_attr( $term->term_id ); ?>"/><?php echo $term->name; ?> </label> </pre>
attribute name sebelumya tanpa kurung kotak (square bracket) dan saya ubah menjadi topics[] untuk menhandle array.