Excerpting Recent Post di sidebar

Setelah kita kenal dengan Excerpt di Posting dan resume pada wordpress, maka kita pun sebenarnya bisa memotong title pada Recent Post Sidebar jika diperkirakan terlalu panjang. Selain dengan mencari pluggins, kita bisa melakukannya dengan : Editing WordPress itu sendiri.

Theme WordPress
Biasanya paada Theme WordPress, jika tidak terdapat widget yang dipasang, maka Theme memiliki widget standard sendiri. Widget bawaan dari themes ini biasanya tersimpan di {dir_wp}/wp-contents/themes/nama_themes/sidebar.php. Kira-kira seperti demikian source code yang ada:

Namun jika widget Recent Post dipasang, maka code diatas tidak lagi digunakan, melainkan akan menggunakan function widget() yang terdapat pada default-widget.php pada direktori wp-includes. Pada fungsi tersebut terdapat bagian :

  • Perhatikan pada bagian the_title(). The title tersebut terletak pada file wp-includes/post-template.php, bukalah file tersebut. Saya melakukan penambahan fungsi untuk mempermudah membedakan antara keduanya. Carilah fungsi the_title() kira-kira akan didapatkan seperti demikian:

    function the_title($before = '', $after = '', $echo = true) {
    	$title = get_the_title();
    
    	if ( strlen($title) == 0 )
    		return;
    
    	$title = $before . $title . $after;
    	if ( $echo )
    		echo $title;
    	else
    		return $title;
    }
    

    Coba lakukan seperti yang saya lakukan, tambahkan dibawah fungsi the title diatas tersebut menjadi seperti demikian:

    Ingat! Copy dulu file tersebut sebelum mengubah… 2 file: post-template.php dan default-widget.php

    
    function the_title($before = '', $after = '', $echo = true) {
    	$title = get_the_title();
    
    	if ( strlen($title) == 0 )
    		return;
    
    	$title = $before . $title . $after;
    	if ( $echo )
    		echo $title;
    	else
    		return $title;
    }
    
    
    function the_title_excerpt($before = '', $after = '', $echo = true) {
    	$title_1 = get_the_title();
    	//echo $title_1;
       $title_excerpt = substr($title_1, 0, 30);
    //echo $title_excerpt;
    	if ( strlen($title_excerpt) == 0 )
    		return;
       if(strlen($title_1)>30){
       $dot = "...";
       }else{
       $dot = "";
       }
    	$title_excerpt = $before . $title_excerpt . $after . $dot;
    
    	if ( $echo )
    		echo $title_excerpt;
    	else
    		return $title_excerpt;
    }
    
    
    
    

    Kita tambahkan sebuah fungsi bernama the_title_excerpt(), dimana the_title_excerpt() ini melakukan pengambilan sebanyak 30 hurup dari title yang didapat oleh fungsi get_the_title(); Jika hasilnya lebih dari jumlah hurup dalam judul artikel akan ditambahkan tanda …

    Setelah selesai, buka kembali file default-widget.php, dan lakukan pengubahan dari

  • menjadi

  • Simpan kedua file tersebut, dan pasanglah widget Recent Post anda, dan lihatlah apa yang terjadi untuk nama artikel yang lebih dari 30 karakter? Sukses? tentunya sukses.. Jika tidak, saya siap tanggung jawab hehehe…

    Semoga Berguna

    bimosaurus
    —eof—

    Berkreasi dengan Link ‘MORE’ atau ‘SELANJUTNYA’ dalam Resume Post WordPress

    Perhatian: Sementara Post ini berlaku untuk yang gemar mengolah WordPress dari sisi Script

    Jika anda melakukan installasi WordPress dan dilanjutkan dengan installasi Themes, sedangkan themes tersebut mendukung adanya RESUME halaman awal, biasanya secara default, resume tiap post akan diakhiri dengan tanda […] tanpa Link, kecuali yang telah didukung oleh themes atau plugins tertentu. Contoh:

    posting ini adalah posting yang pertama bahwa dengan blabalbalbalbal […]

    Sedangkan pada umumnya web, kita menginginkan adanya tombol atau link : more, atau selanjutnya, untuk menuju ke post penuh dari resume tersebut. Nah, bagaimana caranya? Sangat mudah.

    Dalam wordpress, terdapat berbagai fungsi yang dapat anda baca pada Function Reference pada codex.wordpress.com. Resume, dalam wordpress akan dinyatakan sebagai EXCERPT. Cara membuat resume dari sebuah post pun hanya tinggal memanggil the_excerpt. Biasanya para desainer themes wordpress akan banyak menggunakan ini untuk membuat tampilan halaman index. Desain awal dari WordPress, memiliki beberapa ketentuan untuk excerpt, antara lain adalah : karakter tertentu akan dibatasi, jumlah kata adalah 55 kata, dan akan diakhiri dengan tanda […]. Kita dapat mengubah semua itu dengan cara melakukan pengubahan suatu file dalam wordpress tersebut. Langkah pertama adalah bukalah CMS WordPress, dan pastikan, apakah Themes yang dipilih mendukung adanya Excerpt. Jika tidak, tutorial selanjutnya akan saya bahas tentang mendesain themes wordpress. Jika iya, apakah Resume atau Excerpt dari potongan artikel berakir dengan […] ? jika anda ingin mengubah, silakan buka file formatting.php dalam {DIREKTORI_UTAMA}/wp-includes/. Kopikan file tersebut sebagai backup apabila kita keliru dalam melakukan modifikasi.

    Selanjutnya bukalah formatting.php tersebut, dan temukan fungsi bernama function wp_trim_excerpt($text)

    kira-kira untuk WordPress Versi 2.x berisi seperti demikian:

    function wp_trim_excerpt($text) {
    	if ( '' == $text ) {
    		$text = get_the_content('');
    
    		$text = strip_shortcodes( $text );
    
    		$text = apply_filters('the_content', $text);
    		$text = str_replace(']]>', ']]>', $text);
    		$text = strip_tags($text);
    		$excerpt_length = apply_filters('excerpt_length', 55);
    		$words = explode(' ', $text, $excerpt_length + 1);
    		if (count($words) > $excerpt_length) {
    			array_pop($words);
    			array_push($words, '[...]');
    			$text = implode(' ', $words);
    		}
    	}
    	return $text;
    }

    Untuk versi 3.x kira-kira demikian:

    function wp_trim_excerpt($text) {
    	$raw_excerpt = $text;
    	if ( '' == $text ) {
    		$text = get_the_content('');
    
    		$text = strip_shortcodes( $text );
    
    		$text = apply_filters('the_content', $text);
    		$text = str_replace(']]>', ']]>', $text);
    		$text = strip_tags($text);
    		$excerpt_length = apply_filters('excerpt_length', 55);
    		$excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
    		$words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
    		if ( count($words) > $excerpt_length ) {
    			array_pop($words);
    			$text = implode(' ', $words);
    			$text = $text . $excerpt_more;
    		} else {
    			$text = implode(' ', $words);
    		}
    	}
    	return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
    }

    Perhatikan, pada bagian

    $excerpt_length = apply_filters('excerpt_length', 55);

    anda dapat mengubah excerpt anda tidak lagi 55 kata, dengan cara mengubah angka yang ada tersebut.

    Kemudian jika anda ingin mengubah […] menjadi ‘selanjutnya’ dalam bentuk miring, maka lakukan pengubahan […] dengan kode “…Selanjutnya“.

    Hasilnya kira-kira akan menjadi seperti berikut:

    versi 2.x

    function wp_trim_excerpt($text) {
    	if ( '' == $text ) {
    		$text = get_the_content('');
    
    		$text = strip_shortcodes( $text );
    
    		$text = apply_filters('the_content', $text);
    		$text = str_replace(']]>', ']]>', $text);
    		$text = strip_tags($text);
    		$excerpt_length = apply_filters('excerpt_length', 55);
    		$words = explode(' ', $text, $excerpt_length + 1);
    		if (count($words) > $excerpt_length) {
    			array_pop($words);
    			array_push($words, 'selanjutnya');
    			$text = implode(' ', $words);
    		}
    	}
    	return $text;
    }

    versi 3.x

    function wp_trim_excerpt($text) {
    	$raw_excerpt = $text;
    	if ( '' == $text ) {
    		$text = get_the_content('');
    
    		$text = strip_shortcodes( $text );
    
    		$text = apply_filters('the_content', $text);
    		$text = str_replace(']]>', ']]>', $text);
    		$text = strip_tags($text);
    		$excerpt_length = apply_filters('excerpt_length', 55);
    		$excerpt_more = apply_filters('excerpt_more', ' ' . 'selanjutnya');
    		$words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
    		if ( count($words) > $excerpt_length ) {
    			array_pop($words);
    			$text = implode(' ', $words);
    			$text = $text . $excerpt_more;
    		} else {
    			$text = implode(' ', $words);
    		}
    	}
    	return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
    }

    Simpan, dan saksikan di halaman depan homepage CMS WordPress anda.. Anda pun dapat berekpsresi lanjut dengan membuat tanpilan lebih menarik dengan melibatkan CSS, seperti a:hover, a:link dan selanjutnya.. Enak bukan?

     

    SEMOGA BERGUNA..

     

    bimosaurus

    eof