Deftones - Leathers
Deftones - Leather
Lagu terbaru Deftones, salah satu lagu yang akan dimasukkan dalam album Koi No Yokan, albumnya sendiri akan dirilis pada tanggal 13 November 2012
Kadang kita perlu mengubah query post di halaman tertentu di WordPress, contoh kasusnya adalah ketika kita membuat custom post type baru yang bernama portfolio dan menginginkan jumlah post yang tampil berbeda dengan post type blog default yang mengikuti setting di menu Setting -> Reading.
Cara yang populer adalah dengan menggunakan fungsi query_posts() di template custom post type portfolio tersebut, yaitu archive-portfolio.php
$custom_query = $query_string . '&posts_per_page=10'; query_posts($custom_query);
Variabel $query_string adalah global variabel yang merupakan default query, dan baris pertama dari kode diatas adalah untuk mengubah query yang ada dengan menambahkan parameter ‘posts_per_page’ ( jumlah post yang ditampilkan per halaman) menjadi 10, Kemudian di baris kedua dilakukan query dengan parameter yang telah berubah.
Ada beberapa kekurangan dari cara pertama tadi, yaitu melakukan dua kali query, karena sebenarnya ketika ada request, WordPress telah melakukan query ke database sebelum memanggil file template ( dalam hal contoh adalah archive-portfolio.php), kemudian di file template kita melakukan query lagi yang parameternya telah diubah.
Masalah lain terjadi pada navigation, yaitu ketika jumlah post yang di setting reading lebih besar dari parameter baru ‘posts_per_page’, karena jika kasusnya seperti itu jumlah halamannya akan lebih banyak. Misalnya ketika saat parameternya sebelum diubah jumlah halaman ada 6 dan ketika diubah jumlah halaman ada 8, ketika meminta halaman yang lebih dari 6 WordPress melakukan query pertama dan tidak akan menemukan halaman lebih dari 6, maka alih-alih memanggil file template portfolio (archive-portfolio.php) malah memanggil template 404 (404.php).
Cara ini lebih efektif karena hanya akan melakukan satu query, dengan cara me-modifikasi parameter query sebelum query pertama tadi dilakukan, dengan menggunakan hook action ‘request’, berikut adalah contoh kodenya, bisa disimpan di file functions.php :
add_filter( 'request', 'portfolio_modify_request' ); // hook fungsi dibawah
function portfolio_modify_request($request){
if ( isset($request['post_type']) && $request['post_type'] == 'portfolio' )
$request['posts_per_page'] = 10 //modifikasi parameter
return $request;
}
Contoh di atas adalah jika yang dibuka adalah type postnya adalah ‘portfolio’, maka parameter ‘posts_per_page’-nya dibuat 10. Tentu saja anda bisa mengubah parameter-parameter lainnya dengan kondisi-kondisi lainnya juga.
Horikita Maki kunjungi Anak-anak dan Mobile Library di Jakarta, Indonesia dalam acara 24 Hours Television. Tidak ada subtitlenya. Untuk Part 2 ada di sini
Official video-nya 311 - Wild Nights, videonya merupakan footage Tour mereka di seluruh dunia, dan Jakarta salah satu kota yang termasuk dalam videonya. :)
Beberapa hari yang lalu, ††† ( Crosses ) me-rilis EP pertama mereka, ††† adalah proyek musik terbaru dari Chino Moreno ( Deftones ) dan Shaun Lopez ( Far ). As expected, Chino gak pernah gagal dalam membuat musik yang keren dan unik, seperti proyek-proyek musik lainnya diluar Deftones.
EP ††† bisa didownload secara gratis di Crossesmusic.com, atau membelinya dengan harga $5 di iTunes, dengan kualitas sound yang jauh lebih bagus.
Saya pernah membaca tutorial di situs belajarwebdesign.com tentang cara menampilkan nomor tiap post wordpress, tapi kode fungsi yang diajarkan di sana sangatlah tidak efisien seperti komen dari salah seorang komentator di sana, mas Ganda, berdasar dari analisa dan saran dia saya mencoba untuk membuat fungsi tersebut dengan kode yang lebih efisien.
Fungsinya tersebut sangatlah sederhana, hanya dengan melakukan satu queri ke database wordpress ( pake objek $wpdb di tabel posts), querinya adalah dengan menghitung jumlah post yang tanggal postnya ( kolom post_date ) lebih kecil atau sama dengan dari tanggal post yang mau kita cari nomornya, dan statusnya sudah publish ( post_status = ‘publish’ ) dan typenya post ( post_type = ‘post’ ), ya hanya seperti itu saja. Berikut adalah kode fungsinya :
function get_post_number($post_id = '' ){
global $post, $wpdb;
if ( !$post_id ){
$post_id = $post->ID;
}
$query = " select count(1) ";
$query .= " from $wpdb->posts t1 ";
$query .= " where t1.post_status = 'publish' and t1.post_type = 'post' and ";
$query .= " t1.post_date <= ( select t2.post_date from $wpdb->posts t2 where t2.ID = ". $post_id ." )";
$post_count = $wpdb->get_col( $wpdb->prepare( $query ) );
return $post_count[0];
}
Kopi kode tersebut ke functions.php anda dan silakan mencobanya dengan cara memanggil fungsi get_post_number() dalam loop post wordpress.