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

9 Comments

      1. Hayır, o bölümde bir sorun yok, kategori ID’sine +1 ekleyip yazdım. Slug olarak da rastgelevideo kullanıyorum. Neden böyle olduğunu bir türlü çözemedim.

  1. birden çok kategorideki konuyu çağırmak için ne yapabiliriz. Tüm kategorileri kasdetmiyorum. 10 tane kategorimiz olduğunu farzedelim, sadece 5 kategoriden çağırmak için ne yapabiliriz.

    $_GET[‘random_cat_id’] = 2,3,4,5,6; yaptım beyaz sayfa çıktı.$_GET[‘random_cat_id’] = ‘2,3,4,5,6’; olarak yaptım. sadece bir konuya ait yazıları getirdi.

    1. Merhaba, yazı epey eski. Bugün yazıda bir düzenleme yaparak birden fazla kategoriyi kullanarak rastgele yazı getirilebilecek hale getireceğim inşallah.

        1. Tekrar merhaba. Yazıyı güncelledim. Birden fazla kategori kullanmak için $args array’ında:

          1) İster hardcode şekilde ‘cat’ değerini ‘3, 11, 83, 103’ şeklinde kategori ID’lerini sıralayarak

          2) Ya da ‘cat’ yerine ‘category__in’ kullanıp $catid değişkenini array(3, 11, 83, 103) şeklinde ayarlayarak halledebilirsin 🙂

          WP_Query’deki kategori bazlı diğer ayarlamalara buradan bakmanı tavsiye ederim. http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

WooCommerce Benzer Yazılar Sayısını Değiştirme 0

woocommerce benzer yazilar sayisi

Merhaba arkadaşlar, WooCommerce biliyorsunuz WordPress Eticaret eklentileri arasında en iyisi. Geçen gün bu eklentiyi kullandım ama benzer yazılarda 1 tane çıkıyordu biraz araştıriyim derken bu fonksiyonu buldum.

Temanızın fonksiyon dosyasına alttaki gibi uyarlarsanız benzer yazıların sayısını belirleyebilirsiniz.

Kodda ürün ve kolon sayısı belirliyorsunuz. Örneğin: 10 ürün, 3 kolon yapabiliyorsunuz bu seçenek tamamiyle size kalmış.

Örnek 1) 4 Ürün, 2 Kolon

// Woocommerce eticaret sistemi, benzer ürün sayısı - rooteto.com
 function woocommerce_output_related_products() {
 woocommerce_related_products(4,2);       // 4 ürün, 2 kolon
 }

https://3.bp.blogspot.com/-NAJsLI4L0OE/VMkvLGyvMsI/AAAAAAAAbmQ/V-uyxz4IG-k/s1600/woocommerce-benzer-yazilar-sayisi.jpg

Örnek 2) 4 Ürün, 4 Kolon

// Woocommerce eticaret sistemi, benzer ürün sayısı - rooteto.com
function woocommerce_output_related_products() {
woocommerce_related_products(4,4);   // 4 ürün, 4 kolon
}

https://4.bp.blogspot.com/-WBlh6I37dVI/VMkvKwvvfuI/AAAAAAAAbmM/2wPmiaqt09Y/s1600/woocommerce-benzer-yazilar-related.jpg

Kaynak: Change the Number of Woocommerce Related Products

Most Popular Topics

Editor Picks