Cekerholic

Personal Playground of Aris FM

WordPress Tips: Modifikasi WordPress Excerpt

23 Oct 2010 Wordpress 11 Comments

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.

Membuat Manual Excerpt

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 &raquo;' . '</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(']]>', ']]&gt;', $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 &raquo;' . '</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.

11 Comments

  1. by Reza Saputra on 23 October 2010 at 8:17 pm. # | Reply

    sek tak coba di local dulu mas. lek bagus tak pake, makasih buat infonya

    • by Aris FM on 23 October 2010 at 9:18 pm. # | Reply

      silakan dicoba, experience is the best teacher bukan? :D

  2. by adizone23 on 24 October 2010 at 1:28 am. # | Reply

    wajib dicoba neh,,,
    makasih infonya, mas…
    saya masih awam banget dengan WP

  3. by Rudy Azhar on 24 October 2010 at 10:23 pm. # | Reply

    mantap juga nich infonya, jadi kalau nanti blog saya memakai excerpt bisa dimodifikasi juga. :P

    • by Aris FM on 24 October 2010 at 11:21 pm. # | Reply

      Sekarang digunakan juga bisa kok :P. Di blog saya excerpt saya fungsikan di arsip kategori dan hasil pencarian

  4. by Sabeeluna on 12 February 2011 at 8:35 pm. # | Reply

    It’s working! teng kiuh Gan! :D

  5. by Saif Trik Komputer on 20 September 2011 at 2:02 pm. # | Reply

    Sudah saya coba dan makyuuusssss bekerja sempurna, makasih gan :-)

  6. by dhiena on 23 September 2011 at 10:43 pm. # | Reply

    waaah.., makasih om atas tutornya. langsung saya coba.

  7. by Yassir on 31 January 2012 at 3:53 pm. # | Reply

    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…

  8. by obat online on 9 February 2012 at 1:19 pm. # | Reply

    Thnks infonya bang, setelah dicoba hasilnya maknyussss…..
    Jempol buat blog ini . :)

  9. by lukman taktis on 23 March 2012 at 2:30 pm. # | Reply

    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.

Leave Your Comment Here