WordPress için Eklentisiz Benzer Yazılar

Wordpress için Eklentisiz Benzer Yazılar

Zamanında yazıyı yayınlarken eklentisini paylaşmıştım. Tabi o zamanlar hep eklentiyle hallederdik işimizi. Aradan seneler geçti artık eklentisiz birşeyler yapmaya çalışıyoruz.  Eğer sizde benim gibi eklentili alerjisine kapılanlardansanız, işte sizin için eklentisiz benzer yazılar. 

DİKKAT! Yazı, 5 Kasım 2008 tarihinde yayınlanmış, 20 Şubat 2017 tarihinde güncellenmiştir. Fakat yinede yazıya erişim sağladığınız tarihte güncelliğini yitirmiş olabilir.

WordPress’de eklentisiz benzer yazıları göstermek için aşağıdaki kodu kullanabilirsiniz. Tabi kodlarda yazılardaki resimler çağırılmadığından sadece yazı başlıkları gösterilecektir, bilginiz olsun.

Aşağıdaki kodları single.php’de uygun yere ekleyin.

<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>5, // Gösterilecek benzer yazı sayısı
'ignore_sticky_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<img src="https://www.../images/ilgi.png" border="0"/><div class="benzeryazi"><ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul></div>';
}
wp_reset_query();
}
?>

Aşağıdaki kodları da css güzellemesi için style.css dosyanıza kafanıza göre düzenleyip ekleyeceksiniz.

.benzeryazi{
margin-top:2px;
margin-left:18px;
width: 99%; /*width of menu*/
}
.benzeryazi ul{
list-style-type: none;
margin: 5px 0;
padding: 0;
}
.benzeryazi ul li {
padding-left: 5px;
}
.benzeryazi ul li a{
color: #cc2124;
font-weight:bold;
font-size:14px;
font-family: 'Open Sans', trebuchet, Tahoma, "Times New Roman", Times, serif;
display: block;
background: url('images/arrow.gif') no-repeat 2px top;
width: auto;
padding-left: 14px;
text-decoration: none; padding-right:0; padding-top:3px; padding-bottom:3px
}

Her iki kodda da değiştirilecek yerler var. Örneğin Benzer yazıların üstünde görünecek başlık resminin url’sini ayarlamanız ve her yazının solunda görünecek görseli (arrow.gif) ayarlamanız gerekiyor. Gösterilecek yazı sayısı içinde showposts 5 rakamıyla oynayabilirsiniz.

Yukarıdaki kod sizde çalışmaz, hata verirse aşağıdakini deneyebilirsiniz;

<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'posts_per_page'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php
endwhile;
}
wp_reset_query();
}
?>

Resimli benzer yazılar içinde aşağıdakini deneyebilirsiniz;

<?php $orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail(); ?></a></div>
<div class="relatedcontent">
<h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_time('M j, Y') ?>
</div>
</li>
<? }
echo '</ul></div>';
}
}
$post = $orig_post;
wp_reset_query(); ?>

Css düzenlemelerini kendi temanıza göre ayarlamanız gerekiyor.

Eğer bu işi eklenti ile yapmak isterseniz;

İlgili eklentiyi buradan indirebilirsiniz.

Soru ve teşekkürlerinizi yorum olarak iletebilirsiniz..

>> Web Tasarım ile Uğraşanlar için Faydalı Bağlantılar