Bir Eklenti kurmadan kendi oluşturduğunuz bir kısa kodu kullanarak sitenizde benzer yazıları listelemek istermiydiniz? Eğer soruma cevabınız ‘Evet‘ ise sizi biraz kod yazmaya davet ediyorum. Yapacağınız şey aslında çok basit. WordPress içindeki fonksiyonların birazıyla oynayacağız. Hatta onun içinde hiç bir kodu değiştirmeden kendi kodumuzu yapıştıracağız. Benim oluşturduğum birşey değil onun için önce denedim. Bir sorun çıkmadı ama sizin wordpress sürümünüzle çakışan bir olay oluştururmu bilemem. Ama sanırım bu basit kod ile bir sorun yaşamazsınız.
Öncelikle Sitenizdeki functions.php dosyasının yedeğini alarak işe başlayın. Yedekleme işlemi bittikten sonra functions.php dosyanızı açın. Nerede olduğunu bilmiyorsanız ve sitenize girdiğiniz www klasöründe bulamadıysanız, şu yolu takip edin; “wp-content/temanizin-adi/” bu klasörün altında.
Açtıktan sonra en alta inin ve
?>
alanının hemen üstüne
function related_posts_shortcode( $atts ) { extract(shortcode_atts(array( 'limit' => '5', ), $atts)); global $wpdb, $post, $table_prefix; if ($post->ID) { $retval = ' <ul>'; // Get tags $tags = wp_get_post_tags($post->ID); $tagsarray = array(); foreach ($tags as $tag) { $tagsarray[] = $tag->term_id; } $tagslist = implode(',', $tagsarray); // Do the query $q = "SELECT p.*, count(tr.object_id) as count FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < NOW() GROUP BY tr.object_id ORDER BY count DESC, p.post_date_gmt DESC LIMIT $limit;"; $related = $wpdb->get_results($q); if ( $related ) { foreach($related as $r) { $retval .= ' <li><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></li> '; } } else { $retval .= ' <li>Benzer Yazı Bulunamadı</li> '; } $retval .= '</ul> '; return $retval; } return; } add_shortcode('related_posts', 'related_posts_shortcode');
Benzer Konuları göstermek için şimdi yazılarınıza ekleyebileceiniz bir kısa kodunuz oldu. Aşağıdan kopyala yapıştır yapın :)
[related_posts]
Bu güzel kodun orjinal yazısı için WpRecipes