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

avatar yayayayayayaya
@yayayayayayaya

47 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

Wah, jawabannya tidak semudah pertanyaannya :=), tapi untuk mempermudah, jawabannya ini harus dibreakdown menjadi beberapa bagian atau tahapan:

  1. Anggap saja filternya berdasarkan kategori. Jadi, yang harus dilakukan adalah membuat sebuah form filter dengan field semua kategori dengan post. Misalkan:

<pre> &lt;form action="/" method="GET"&gt; &lt;form action="/" method="GET"&gt; &lt;?php $terms = get_terms( array( 'taxonomy' =&gt; 'category', 'hide_empty' =&gt; true ) ); ?&gt; &lt;?php if ( !empty( $terms ) ) : ?&gt;

&lt;?php foreach( $terms as $term ): ?&gt;

&lt;label&gt; &lt;input type="checkbox" name="topics[]" value="&lt;?php echo esc_attr( $term-&gt;term_id ); ?&gt;"/&gt;&lt;?php echo $term-&gt;name; ?&gt; &lt;/label&gt;

&lt;?php endforeach; ?&gt;

&lt;?php endif; ?&gt; &lt;button type="submit"&gt;Submit&lt;/button&gt; &lt;/form&gt; </pre>

Sampai disini formsnya sudah selesai, setelah itu membuat sebuah query dari form yang nantinya akan disubmit:

  1. Membangun sebuah query dari form yang disubmit:

Karena form menggunakan metode GET, maka kita akan membangun querynya seperti ini:

<pre> &lt;?php if ( isset( $_GET['topics'] ) ) : ?&gt;

$topics = $_GET['topics']; $topics_query = new WP_Query( array( 'category__in' =&gt; $topics, 'post_type' =&gt; 'post', 'post_status' =&gt; 'publish', 'ignore_sticky_posts' =&gt; 1 ) ); if ( $topic_query-&gt;have_posts() { while ( $topic_query-&gt;have_posts() ) : $topic_query-&gt;the_post(); the_title(); endwhile; }

&lt;?php endif; ?&gt; </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 :)

avatar tompradana
@tompradana

134 Kontribusi 95 Poin

Dipost 5 tahun yang lalu

@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 ?

avatar yayayayayayaya
@yayayayayayaya

47 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

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> &lt;label&gt; &lt;input type="checkbox" name="topics" value="&lt;?php echo esc_attr( $term-&gt;term_id ); ?&gt;"/&gt;&lt;?php echo $term-&gt;name; ?&gt; &lt;/label&gt; </pre>

menjadi

<pre> &lt;label&gt; &lt;input type="checkbox" name="topics[]" value="&lt;?php echo esc_attr( $term-&gt;term_id ); ?&gt;"/&gt;&lt;?php echo $term-&gt;name; ?&gt; &lt;/label&gt; </pre>

attribute name sebelumya tanpa kurung kotak (square bracket) dan saya ubah menjadi topics[] untuk menhandle array.

avatar tompradana
@tompradana

134 Kontribusi 95 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban