Bookmark and Share

Wordpress İle Pluginsiz Bir Blog

Wordpress ile akla hayale gelmedik bloglar yapılabiliyor artık. Wordpress'in kendi fonksiyonları bir yana, yazılmış yüzlerce plugin, Wordpress'in gücüne güç katıyor. Bu eklentiler tabi beraberinde bazı sorunları da getiriyor.

Wordpress İle Pluginsiz Bir Blog

Wordpress ile akla hayale gelmedik bloglar yapılabiliyor artık. Wordpress‘in kendi fonksiyonları bir yana, yazılmış yüzlerce plugin, Wordpress‘in gücüne güç katıyor. Bu eklentiler tabi beraberinde bazı sorunları da getiriyor. Trafik alan bir blogda bu eklentiler yüzünden tıkanma yaşanabiliyor veya ücretli hostingdeyseniz, hosting şirketi tarafından kapı önüne konabiliyorsunuz. Bu yüzden zamanla çok gerekli eklentiler dışında eklenti kullanmamaya özen gösteriyor bloggerlar.

Şurda da anlattığım gibi Fadonet‘in temasında çeşitli güncellemeler yaptım ve plugin sayısını en aza indirmeye çalıştım. Böylece hem performansı arttı sitenin hem de daha kullanışlı bir hale geldi.

EKLENTİ KULLANMADAN NELER YAPABİLİRİZ?

Son yazılar, son yorumlar, çok yorumlananlarkategorinin son yazıları, rastgele yazılar gibi en çok kullanılan modülleri eklenti kullanmadan Wordpress’in kendi fonksiyonları ve birazcık PHP bilgisiyle halledebiliyoruz. Şimdi sırasıyla bunları hangi kodlarla yapabileceğimizi görelim.

SON YAZILARI GÖSTERMEK

Bu modül sayesinde Wordpress’de girdiğimiz son yazıları sayısı, excerpt fonksiyonu, tarihi, yorum sayısı vs. ile birlikte gösterebiliriz. Bunun için aşağıdaki kodu temamızın istediğimiz herhangi bir yerine gömüyoruz:


<?php query_posts('showposts=10'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li>
<h3> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span><?php the_time('d M, Y'); ?></span></h3>
</li><?php endwhile;?>
</ul>

SON YORUMLARI GÖSTERMEK

Zaten widget destekli bir Wordpress teması kullanıyorsanız ve widgetleri otomotik olarak alıyorsanız bu koda ihtiyacınız olmayacak ama temanızda widget dışında son yorumları göstermek istiyorsanız aşağıdaki kodu functions.php dosyasına eklemeniz yeterli.


function dp_recent_comments($no_comments = 10, $comment_len = 50) {
global $wpdb;
$request = "SELECT * FROM $wpdb->comments";
$request .= " JOIN $wpdb->posts ON ID = comment_post_ID";
$request .= " WHERE comment_approved = '1' AND post_status = 'publish' AND post_password =''";
$request .= " ORDER BY comment_date DESC LIMIT $no_comments";
$comments = $wpdb->get_results($request);
if ($comments) {
foreach ($comments as $comment) {
ob_start();
?>
<li><?php echo get_avatar($comment,$size='20'); ?>
<a href="<?php echo get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID; ?>"><?php echo dp_get_author($comment); ?>:
<?php echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, $comment_len)); ?></a>
</li>
<?php
ob_end_flush();
}
} else {
echo '<li>'.__('No comments', 'banago').'</li>';
}
}
function dp_get_author($comment) {
$author = "";
if ( empty($comment->comment_author) )
$author = __('Anonymous', 'banago');
else

$author = $comment->comment_author;
return $author;
}

functions.php dosyasına bu kodu ekledikten sonra, temanızın herhangi bir yerine aşağıdaki kodu giriyorsunuz;


<?php dp_recent_comments(); ?>

EN ÇOK YORUMLANAN YAZILARI GÖSTERMEK

Bu modül sayesinde, blogunuzda en çok yorum alan yazıları yorum sayısıyla birlikte yazdırabiliyorsunuz. Kaç yazı olacağına her zaman olduğu gibi siz karar veriyorsunuz. İşte çok yorum alan yazıları göstermek için kod:


<?php
$sql="SELECT post_title, comment_count, post_date, guid
FROM wp_posts
ORDER BY comment_count DESC
LIMIT 7";
$results = $wpdb->get_results($sql);
foreach ($results as $r) {
echo '<li><h3><a href="' . $r->guid . '" title="' . $r->post_title . '"> ' . $r->post_title .
' (' . $r->comment_count . ')</a> <span>'.$r->post_date.'</span></h3></li>';
}
?>

KATEGORİNİN SON YAZILARINI GÖSTERMEK

Tekil yazılarımızı gösterirken, aynı kategoriye girilmiş son yazıları göstermemiz gerekebilir bazen. Bunun için ekstra eklenti kurmaya gerek yok. Aşağıdaki kodu single.php dosyasına ve sidebar.php dosyasına eklememiz yeterli:


<?php
global $post;
$categories = get_the_category();
$category = $categories[0];
$sidebar_cat_id = $category->cat_ID;
$sidebar_cat_name = $category->cat_name;
?>

<?php
$sidebar_related_query = new WP_Query('cat=' . $sidebar_cat_id . '&showposts=5&offset=0&orderby=post_date&order=desc');
while ($sidebar_related_query->have_posts()) : $sidebar_related_query->the_post();
$do_not_duplicate = $post->ID;
?>
<li>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <br /> <span><?php the_time('d.m.Y'); ?></span></h3>
</li>
<?php endwhile; ?>
</ul>

RASTGELE YAZILAR GÖSTERMEK

Özellikle tekil sayfalarda olması gerektiğini düşündüğüm bir başka modül. Kullanıcılara bloga girmiş olduğunuz yazılardan bir demet sunmaya ne dersiniz? İşte bunun için gerekli kod:


<?php $my_query = new WP_Query('orderby=rand&showposts=5');
while ($my_query->have_posts()) : $my_query->the_post();
?>
<ul>
<li>
<h3> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a><span><?php the_time('d.m.Y'); ?></span></h3>
</li>
<?php endwhile; ?>
</ul>

İLGİLİ YAZILARI GÖSTERMEK

Google‘da related posts diye aratırsanız, karşınıza bir çok eklenti seçeneği çıkacaktır. Ama bu işi daha basit bir şekilde, eklenti kullanmadan da yapabiliriz. Kodumuzun mantığı etiketlerle ilgili. Aynı etiketlerle etiketlenmiş yazıları ilgili yazılar olabilir düşüncesiyle göstermek. İşte kod:


<?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, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li>
<h3> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a><span><?php the_time('d.m.Y'); ?></span></h3></li>
<?php
}
echo '</ul>';
}
?>

Yukarda vermiş olduğum kodlar hepsi tarafımca denenmiş ve sorunsuz bir şekilde çalıştırılmıştır. Bu kodları css ile şekillendirebilir veya kodlara Wordpress’in bazı özelliklerini ekleyebilirsiniz. Yapmak isteyip de yapamadığınız noktalar olursa yorum olarak ekleyebilirsiniz. Elimden geldiğince cevaplamaya çalışırım.


  • Thumb up 0 Thumb down 0 1. Memed21 | 16 Temmuz 2009 # Cevapla

    Sonuçta eklentilerde kodlardan oluşuyor :).Aynı şey değilmi?

    • Thumb up 0 Thumb down 0 2. Fado | 16 Temmuz 2009 # Cevapla

      Orası öyle tabi…Ama hem daha fazla kod hem de daha sorgu demek eklenti…

Geri İzleme Yok!

Yorum Ekle