Mengeluarkan kategori tertentu dalam list archive blog wordpress

Setelah pada postingan sebelumnya kita membicarakan cara untuk mengeluarkan kategori tertentu dari halaman utama blog, maka kali ini akan kita lanjutkan ke bagian list archive yang biasa digunakan pada list tulisan yang telah dibuat maupun list archive pada blog kita dengan menggunakan perintah berikut : [php]<? wp_get_archives(”); ?>[/php]

Ada beberapa langkah yang harus dilakukan untuk dapat mengeluarkan kategori tertentu dari list yang dihasilkan oleh wp_get_archives tersebut. Disini kita harus membuat sebuah fungsi khusus karena defaultnya fungsi tersebut tidak menerima parameter untuk mengeluarkan kategori tertentu. Berikut langkah yang harus diterapkan :

1. Tambahkan fungsi berikut kedalam file functions.php theme yang digunakan
[php]
add_filter( ‘getarchives_where’, ‘customarchives_where’ );
add_filter( ‘getarchives_join’, ‘customarchives_join’ );

function customarchives_join( $x ) {

global $wpdb;

return $x . " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)";

}

function customarchives_where( $x ) {

global $wpdb;

$exclude = ‘4’; // category id to exclude

return $x . " AND $wpdb->term_taxonomy.taxonomy = ‘category’ AND $wpdb->term_taxonomy.term_id NOT IN ($exclude)";

}
[/php]

2.Ganti angka 4 pada baris $exclude = ‘4’; dengan kategori yang tidak ingin dimunculkan.

Selesai, sekarang dimanapun anda menggunakan perintah wp_get_archives, maka list yang dihasilkan tidak akan memunculkan kategori dengan id 4 .

Semoga bermanfaat.