Friday, October 23, 2015

Cara menyortir posts berdasarkan format-post di wordpress

Cara menyortir posts berdasarkan format-post di wordpress

Pada pembahasan kali ini saya ingin membahasa seputar theme-development wordpress. Topik yang saya akan bahas adalah seputar filter format-post. Pada dasarnya wordpress sendiri menyediakan 10 format post. Tetapi semua itu tergantung pada support theme yang anda pakai.

10 format post yang di sediakan wordpress :
  1. standard => tidak ada
  2. aside => post-format-aside
  3. gallery => post-format-gallery
  4. link => post-format-link
  5. image => post-format-image
  6. quote => post-format-quote
  7. status => post-format-status
  8. video => post-format-video
  9. audio => post-format-audio
  10. chat => post-format-chat
Untuk lebih lengkapnya baca disini aja yah :D Learn More

Kembali ke pokok bahasan kita.

Peralatan yang di pakai :

  • Wordpress 4.3
  • Php 5.4
Ada 2 cara yang akan saya bahas kali ini, singel filter dan multi filter. Simak pembahasannya di bawah ini.

1. Singel Filter
Pada cara ini anda hanya bisa menyortir berdasarkan 1 format saja, Disini saya ingin menampilkan posts yang punya format aside saja.

$argument = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-aside',
'operator' => 'IN',
),
)
);
query_posts( $argument );

Pada bagian post-format-aside , anda bisa ubah tulisan aside sesuai format yang anda inginkan. Misalkan anda ingin menyortir postingan berformat gallery. Caranya anda cukup ubah saja jadi seperti ini post-format-gallery, begitu seterusnya.

2. Multi filter
Agar anda bisa menyortir lebih dari satu format, anda bisa menggunakan array.
Contoh kasus, Bagaimana cara menampilkan posts yang mempunyai format quote, link, dan gallery ?

$argument = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array(
'post-format-gallery',
'post-format-link',
'post-format-quote'
),
'operator' => 'IN',
),
)
);
query_posts( $argument );

Untuk melakukan pengecualian, anda bisa mengubah operator IN menjadi NOT IN.
Contoh : Bagaimana cara menampilkan posts yang punya format selain gallery, link dan quote.
Untuk menjawabnya, anda cukup salin saja argumen pada cara kedua, lalu pada bagian operator anda cukup ubah dari IN menjadi NOT IN.

Terakhir, argumen filter di atas anda bisa letakan pada bagian index di atas kode :

if( have_posts() ){
while( have_posts() ){ the_post();
/****** Loop Content *******/
}
} else {
echo "Not Found !!!";
}

Sebagai contoh, saya akan coba implementasikan argumen cara kedua, dan beginilah jadinya :

$argument = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array(
'post-format-gallery',
'post-format-link',
'post-format-quote'
),
'operator' => 'NOT IN',
),
)
);
query_posts( $argument );
if( have_posts() ){
while( have_posts() ){ the_post();
/****** Loop Content *******/
}
} else {
echo "Not Found !!!";
}

Mungkin cukupkan sampai disini untuk pembahasan kali ini, mohon maaf jika ada kekurangan. kirim pesan via komentar aja kalau ada yang tidak di mengerti.

Terimakasih :)

#Ref : https://codex.wordpress.org/Class_Reference/WP_Query

Saya hanya seorang "newbie" yang baru bisa ngoding lohor kemarin.


EmoticonEmoticon