İleti�Ÿim

Rastgele Yazı Butonu / Linki Oluşturmak

Sitemizin sağ tarafında görmüş olduğunuz, Kendimi Şanslı Hissediyorum butonu ile aynı işlevde bir buton oluşturmak istiyorsanız, yani bir linke tıkladığınızda sizi rastgele bir yazıya yönlendirmesini istiyorsanız, bu işlevi çok basit kodlarla yapmak mümkündür. Benim sitede kullandığım kodu sizinle paylaşıyorum.

Aşağıdaki kodu functions.php içerisine ekleyiniz.

<?php
function yazi_yonlendir() {
 global $wpdb;

 $query = "SELECT ID FROM $wpdb->posts WHERE post_type = 'post' AND post_password = '' AND post_status = 'publish' ORDER BY RAND() LIMIT 1";

 if ( isset( $_GET['random_cat_id'] ) ) {
 $random_cat_id = (int) $_GET['random_cat_id'];
 $query = "SELECT DISTINCT ID FROM $wpdb->posts AS p INNER JOIN $wpdb->term_relationships AS tr ON (p.ID = tr.object_id AND tr.term_taxonomy_id = $random_cat_id) INNER JOIN  $wpdb->term_taxonomy AS tt ON(tr.term_taxonomy_id = tt.term_taxonomy_id AND taxonomy = 'category') WHERE post_type = 'post' AND post_password = '' AND     post_status = 'publish' ORDER BY RAND() LIMIT 1";
 }

 if ( isset( $_GET['random_post_type'] ) ) {
 $post_type = preg_replace( '|[^a-z]|i', '', $_GET['random_post_type'] );
 $query = "SELECT ID FROM $wpdb->posts WHERE post_type = '$post_type' AND post_password = '' AND post_status = 'publish' ORDER BY RAND() LIMIT 1";
 }

 $random_id = $wpdb->get_var( $query );

 wp_redirect( get_permalink( $random_id ) );
 exit;
}

if ( isset( $_GET['rastgele'] ) ) {
 add_action( 'template_redirect', 'yazi_yonlendir' );
}
?>

Functions.php dosyasını kaydedip, kapatın.

Şimdi de rastgele yazı linkini sitemize ekleyelim:

<a href="http://www.siteadi.com/?rastgele" title="Rastgele Yazı">Hadi Rastgele</a>

Hepsi bu kadar işte icon smile Rastgele Yazı Butonu / Linki Oluşturmak

Benzer Yazilar


“Rastgele Yazı Butonu / Linki Oluşturmak” için 12 Yorum var

  1. kabatashaber diyor ki:

    2. Deneme yapabildim… Teşekkür ederim…

  2. Serkut diyor ki:

    kullanmaya başladım bile

  3. wolkanik diyor ki:

    peki bunu kategoriler için nasıl yapabiliriz ?

    x y z kategorileri için nerelerde oynama yapmak gerekmektedir ?

  4. emre ünan diyor ki:

    Selam Semih hocam,
    w3 total cache e takılıyor rastgele statike dönüyor, cache silince yeniden random ediyor sonra o statik oluyor.
    w3 total cache de page cache başlığında, “Never cache the following pages:” bölümü var ama ne eklediysem olmadı.

    Nerede yanlış yapıyorum

  5. filmadasi diyor ki:

    iyi ama bu kodu bu şekilde eklersek iç sunucu hatası alırız? çünkü functions.php’de sadece bu kod olmıyacak değilmi? bence tekrar kontrol etseniz dediğime göre daha iyi olur gibi..

  6. İsminiz diyor ki:

    kendimi şanslı hissediyoruma tıkladım burayı açtı haha :D

  7. Cihan Üstündağ diyor ki:

    Merhaba birşey öğrenmek istiyorum ama öncelikle kod çok güzel ve ipucu bölümü çok işime yaradı bunu belirteyim. Şimdi sorun Functions.php ye yukarıdaki kodu eklediğimde iç sunucu hatası alıyorum 2.8 sürüm acaba bundan mı kaynaklanıyor yada neden ?

  8. Muzy diyor ki:

    Bu kodları sadece widgete ekleyerek yapabilirmiyiz functions.php eklemeden ? html kodları varmıdır ?

  9. joyologo diyor ki:

    güzel bir paylaşım, çok teşekkürler..

  10. Semih diyor ki:

    Eline sağlık güzel anlatım olmuş ;)

  11. Semih diyor ki:

    hayır ne yazık ki, html statik sayfalar içindir… php değişken göndermezseniz sayfa gelmez ??

Kendimi Şanslı Hissediyorum

Şansını denemek istiyorsan, yukarıya tıkla :)

WordPress Hosting

Duyuru

WP Uzmanı yeni yazarlarını arıyor. WPU üzerinden eklenti ve tema satışı yapabilirsiniz! Tek yapmanız gereken iletişime geçmek.

İletişime geç!


Selen Korkutan

website statistics