WordPress

Bikin Fungsi Custom Loop WP Tanpa While (Need Suggestion)

Oleh Wak Jek• 11 Komentar Arsip

Bikin Fungsi Custom Loop WP Tanpa While (Need Suggestion)

Ane bikin fungsi ini untuk memanggil Loop wp tanpa harus mengulang2 nulis if, while, endif dan reset query karena udah dikumpulkan dalam satu fungsi dan bisa dipake berulang2.

//function custom loop

function my_custom_loop($query,$format){

query_posts($query);

$return = false;

if (have_posts()) while (have_posts()) : the_post();

//definisikan semua fungsi2 yang akan direplace, ane cuma kasi contoh 3 aja, title,content,excerpt

$replace = Array(

'the_title'       => get_the_title(),

'the_content' => get_the_content(),

'the_excerpt' => get_the_excerpt()

);

$return .= str_replace(array_keys($replace), array_values($replace), $format);

endwhile;

wp_reset_query();

return $return;

}

?>

========= .Cara memanggilnya.=========

//contoh ambil 5 post,dari categori dgn slug 'example', menampilkan judul dan excerpt. (parameter lainnya bisa lihat di codex WP_Query)

$query = Array(

'posts_per_page'=>5,

'category_name  =>'example''

);

$format = '

the_title

the_excerpt

';

echo my_custom_loop($query,$format);

?>

So far, udah work like a charm body fit.

MASALAHNYA ADALAH:

Gimana cara memasukkan parameter, jika kita perlu menambahkan parameter di fungsi2 yang direplace tersebut? Ada solusi?

Tulisan ini sudah berumur: 14 tahun 10 bulan 30 hari. Informasi di dalamnya mungkin sudah tidak relevan, tapi nilai historisnya sangat berharga, terutama bagi saya sebagai penulisnya.

(Dipulihkan dari arsip Facebook oleh Wak Jek)

Tag Terkait:

Komentar (11)

Arsip Statis
Wak Jek
cc dulu Asep Bagja Heri Hehe Setiawan Kecoa Ngamuk Kecoa Jeffri Tjin Dicky Kurniawan Ian Hehe Lubis dkkm
Jeffri Tjin
Ribet bikin dan maintenance html nya ntar berhubung html nya kan dalam string - ga kena syntax coloring di editor... Mending bikin instance baru WP_Query. Kalo males pake while loop, page foreach aja... hehe Untuk tampilan kalo ga salah udah ada fitur post format, tapi ane belum pernah pake.
Wak Jek
hahaha. emang sih, jadi grayscale semua formatnya :D dulu ane pak WP_Query, sekarng gk pernah lagi, lebih simple pake query_posts() , emang sih harus selalu direset at the end of loop. :D
Wak Jek
hmm. sbnrya tujuan nya, untuk yang simple2 aja. bukan untuk format html yang rumit. kadang kan ada di bbrp bagian cuma nampilin 1 post doangk. :D…See more
Jeffri Tjin
Yup, kalo mau simple yah pake get_posts. Tapi get_posts querynya ada yang beda sendiri dari WP_Query. Secara pribadi sih ane lebih suka pake WP_Query, kan bisa reusable dan lebih aman dari kesalahan2 kecil kayak pake query_posts (misalnya lupa reset, trus stress beberapa jam cuman buat nemuin errornya disitu)... :)
Wak Jek
oh ia ya, salah satu contoh get_posts pake 'numberposts' bukan posts_per_page. ane prefer query_posts, karena itu kan sbnry apake clas WP_Query juga. kelebihannya adlah gk pelu pake $posts->have_posts(), cukup langsung have_posts() …See more
Jeffri Tjin
Kan bisa gini: $myposts = new WP_Query('blablabla');…See more
Wak Jek
oh baru tau ane bisa gitu. tetep aja $myposts = new WP_Query('blablabla'); lebih panjang daripada query_posts('blablabla');
Jeffri Tjin
Kalo buat ane sih agak panjang gpp, ntar maintenance nya lebih mudah... ga kebingungan kalo ada banyak query dalam 1 page. :)
Wak Jek
ane dlu jg pake WP_Query kok, tapi ntah kenapa skrg gk mau lagi. :trauma WP_Query,
Heri Hehe Setiawan
hati-hati, bikin loop dalam function, trus manggil function nya lagi ini bikin page load lebih lambat loh :P , ya mungkin kalau cuma 1 atau 2 query yang data-datanya sedikit ga terlalu terasa sih.. hehe