Bir Kategoriden Rastgele Yazı Getirtmek

9

WordPress web sitenizde herhangi bir yere rastegele butonu ekleyebilirsiniz. Bu gösterdiğim yöntemi kendimde sitemde kullanıyorum güzel bir buton “rastgele yazı” ekleyebilirsiniz.

Eğer example.com/?mazlumu-getirin-bana gibi bir linkle WordPress sitenizdeki bir kategoriden rastgele yazı getirtmek istiyorsanız bu kodu functions.php’nize eklemeniz ve birkaç düzenleme yapmanız yeterli.

Rastgele Yazı Nasıl Yapılır?


/**
 * Eğer girilen adreste belirtilen GET parametresi varsa, kullanıcıyı rastgele bir yazıya gönder.
 *
 * @var $link: rastgele yazının getirileceği url'deki GET sorgusu. Varsayılan 'rastgele'dir.
 * Yani site.com/?rastgele şeklinde çalışır.
 * @var $catid: rastgele yazı getirilecek kategorinin ID'si.
 */
add_action( 'template_redirect', 'fincan' );
function fincan() {
    global $wpdb;

    $link = 'rastgele';
    $catid = 1;

    $args = array(
        'post_type'      => 'post',
        'post_status'    => 'publish',
        'cat'            => $catid,
        'has_password'   => false,
        'posts_per_page' => '1',
        'orderby'        => 'rand'

    );
    $sorgu = new WP_Query( $args );
    if( isset( $_GET[$link] ) ) {
        if( $sorgu->have_posts()) {
            while( $sorgu->have_posts() ): $sorgu->the_post();
                $random_id = get_the_ID();
            endwhile;
        }
        wp_redirect( get_permalink( $random_id ) ); // Yazı ID'sinden yazı linkini bul ve yönlendir.
        exit; // bu fonksiyonun burdan bitmesi gerek.
    }
} 

$catid

ve

$link

değişkenlerini keyfinize göre değiştirin.

Çoğu kişi kategori ID’sini nerden bulacağını biliyordur ancak bilmeyenler Kategori ID Öğrenme makalesine bakabilirler.

Link değişkenini ihtiyacınıza/keyfinize göre düzenleyebilirsiniz. Şu haliyle bırakırsanız domain/?rastgele şeklinde çalışır.

Rastgele Yazı Örneği (flash oyun kategorisi) : http://1fincan.com/?oyunver