wordpress rastegele (random) yazı gösterme

WordPress Rastgele Yazı Gösterme

WordPress yazı dizimizin bu bölümünde, wordpress rastgele yazı gösterme nasıl yapılır, wordpress rastgele yazı eklentisi nedir, bunu anlatmak istiyorum.

Yazı sayısı fazla olan bloglar için, ziyaretçiye sitede hoş vakit geçirmesinde yardımcı olacak bir özellik olarak kullanılabilecek olan rastgele yazı gösterme fonksiyonunu inceleyeceğiz. Bu fonksiyon karikatür sitesi, fıkra sitesi gibi eğlenceli ve kısa içeriklerle dolu sitelerde de oldukça işe yarar bir fonksiyondur.

Temamızın functions.php dosyasına ekleyeceğimiz kod ile rastgele yazı göstermemiz mümkündür. Bu işlemi paylaşacağım kod yardımı ile kolayca yapabilirsiniz. Öncelikle temamızın functions.php dosyasını açalım. Bir önceki wordpress admin logosunu değiştirmek adlı makalemizde functions.php dosyasına nasıl erişebileceğimiz hakkında notlar paylaşmıştık. Bilmeyenler bakabilirler.

WordPress ile eklenti kurmadan rastgele yazı göstermek için;

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' );
}
kodu functions.php dosyamızın <?php ?> tagları arasına ekliyoruz.

Kullanıcıların rastgele yazı linkine tıklaması ve özelliği kullanabilmesi için linki eklemek istediğimiz yere;

<a href="<?php echo home_url(); ?>/?rastgele" title="Rastgele Yazı">Rastgele Yazı</a>

kodunu eklememiz gerekmekte. Yada başka bir seçenek olarak admin panel > görünüm > menüler kısmından, menünüze https://www.batuhanozyavru.com.tr/?rastgele olarak özel bağlantı ekleyebilirsiniz. Tabi siz linkinizi eklerken, kendi site adresinizi yazmanız gerekmekte.

Bu yazımızda eklenti kullanmadan wordpress rastgele yazı gösterme konusuna değindik. Hoşçakalın.

, , , , , ,

İlgili Yazılar

WordPress Nedir?

WordPress Nedir? sorusunu kısaca özetlemek gerekirse, wordpress , herhangi bir programlama bilgisine ihtiyaç duymadan, bir web sitesi açmaya ve yönetmeye imkan sağlayan bir CMS (içerik yönetim sistemi) ‘dir diyebiliriz. WordPress,…
Devamını Oku
localhost’a wordpress kurulumu

Localhost’a WordPress Kurulumu

wordpress localhost kurulumu, wordpress localhost, localhostta wordpress çalıştırma, localhost wamp server, localhost wordpress kurulumu 2018 İzmir web tasarım ve izmir wordpress yazı dizilerimize, localde wordpress kurulumu ile devam ediyoruz. WordPress’e…
Devamını Oku

WordPress Kurulum Sonrası Yapılması Gerekenler

WordPress uzmanından, wordpress başlangıç kılavuzu yazı dizimizin bu bölümünde wordpress kurulumunu tamamladıktan sonra ilk iş neler yapmamız gerektiğinden bahsedeceğiz. Yazımızın devamında wordpress url yapısı ayarlama, tema yükleme, gereksiz tema ve…
Devamını Oku
wordpress site taşıma, yedek alma, domain değiştirme, hosting değiştirme

WordPress Site Taşıma

wordpress site taşıma, wordpress hosting değiştirme, wordpress başka domaine taşıma, wordpress veritabanı taşıma, wordpress sunucu değiştirme,wordpress yedek alma, wordpress veritabanı yedekleme, wordpress veritabanı oluşturma izmir wordpress uzmanı, yazı dizimize devam…
Devamını Oku

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi girin.
You need to agree with the terms to proceed

Menü