Benzer Yazıları Göstermek İçin WordPress Kısa Kodu Yapmak

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

2 thoughts on “Benzer Yazıları Göstermek İçin WordPress Kısa Kodu Yapmak”

Comments are closed.