Bagi yang belum tahu, Excerpt adalah ringkasan dari suatu tulisan atau dalam konteks blog adalah ringkasan posting.
Bagi pengguna WordPress, excerpt dapat dimasukkan secara manual pada saat membuat posting.
Ada beberapa theme WordPress yang otomatis menampilkan sebuah posting sebagai excerpt di halaman muka blog atau halaman arsip kategori. Biasanya theme itu menggunakan template tag the_excerpt() di post template-nya.
Jika the_excerpt() digunakan maka otomatis WordPress akan menampilkan 55 kata pertama dalam posting sebagai excerpt, menghilangkan semua pemformatan HTML pada sebuah postingan, dan menampilkan tanda [...] (suffix dot) pada akhir ringkasan. Karena semua format HTML hilang, maka secara otomatis paragraf, link dan image (jika ada) akan hilang pada tampilan excerpt, ini kurang baik karena tampilan postingan menjadi kurang menarik. Agar tampilan excerpt menjadi lebih baik, kita bisa memodifikasinya melalui functions.php.
Membuat function custom_excerpt()
Oke, sekarang waktunya kita koding. Kita akan membuat sebuah functions yang bernama custom_excerpt() untuk menggantikan the_excerpt(). Buka functions.php di directory theme wordpress anda dan masukkan baris kode berikut:
1 2 3 4 5 6 | function custom_excerpt($text) { global $post; if ( '' == $text ) { $text = get_the_content(''); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); |
Membuat pemformatan HTML tetap muncul pada excerpt
the_excerpt() secara otomatis akan menghilangkan semua pemformatan HTML pada posting, jadi semua paragraf, image, link, list atau apapun format HTML akan ditampilkan sebagai plain text di excerpt. Nah, untuk membuat pemformatan HTML tetap tampil masukkan kode berikut:
7 | $text = strip_tags($text, '<p><blockquote><img><a>'); //Silakan tambahkan tag HTML lainnya jika diperlukan |
Mengatur panjang excerpt
Secara default, WordPress akan mengambil 55 kata pertama sebuah posting sebagai excerpt, tapi tenang saja, kita dapat mengatur panjang excerpt sesuai keinginan kita, misalnya saja 33 kata.
8 9 10 11 | $excerpt_length = 33; $words = explode(' ', $text, $excerpt_length + 1); if (count($words)> $excerpt_length) { array_pop($words); |
Mengganti [...] (suffix dot) dengan read more link
Tambahkan baris kode berikut:
12 13 14 15 16 17 | array_push($words, '<a href="'. get_permalink($post->ID) . '">' . 'Baca selengkapnya »' . '</a>'); $text = implode(' ', $words); } } return $text; } |
Memberitahu WordPress untuk mengubah pengaturan excerpt
Langkah terakhir adalah memberitahu WordPress agar mengubah pengaturan excerpt
18 19 | remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'custom_excerpt'); |
Hasil akhir dari function custom_excerpt adalah seperti ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function custom_excerpt($text) { global $post; if ( '' == $text ) { $text = get_the_content(''); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text, '<p><blockquote><img><a>'); //Silakan tambahkan tag HTML lainnya jika diperlukan $excerpt_length = 33; $words = explode(' ', $text, $excerpt_length + 1); if (count($words)> $excerpt_length) { array_pop($words); array_push($words, '<a href="'. get_permalink($post->ID) . '">' . 'Baca selengkapnya »' . '</a>'); $text = implode(' ', $words); } } return $text; } remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'custom_excerpt'); |
Dan sekarang excerpt blog WordPress kita sudah mempunyai tampilan baru. Oh ya, jika ada yang kurang jelas silakan bertanya di kolom komentar ;). Selamat mencoba.

sek tak coba di local dulu mas. lek bagus tak pake, makasih buat infonya
silakan dicoba, experience is the best teacher bukan? :D
wajib dicoba neh,,,
makasih infonya, mas…
saya masih awam banget dengan WP
mantap juga nich infonya, jadi kalau nanti blog saya memakai excerpt bisa dimodifikasi juga. :P
Sekarang digunakan juga bisa kok :P. Di blog saya excerpt saya fungsikan di arsip kategori dan hasil pencarian
It’s working! teng kiuh Gan! :D
Sudah saya coba dan makyuuusssss bekerja sempurna, makasih gan :-)
waaah.., makasih om atas tutornya. langsung saya coba.
Mksh infonya mas. Saya mau tnya cuma agak melenceng sdkt. Di theme wordpress saya di page attribute bagian template gak muncul mas. apakah ada code yang harus ditambahkan di function.php mas ? Mhn bntuannya…
Thnks infonya bang, setelah dicoba hasilnya maknyussss…..
Jempol buat blog ini . :)
Infonya manjur digunakan, terima kasih ya pak….maaf pak, kalau tidak berkeberatan bisa berkunjung ke blog saya supaya ada bisa memberikan kritik dan saran buat perbaikan.