lostyazilim
tr.link

WordPress Rastgele Yazı Getirmek

3 Mesajlar 1.699 Okunma
lstbozum
tr.link

wordpressman wordpressman Webmaster Kullanıcı
  • Üyelik 18.03.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Webmaster
  • Konum
  • Ad Soyad S** A**
  • Mesajlar 541
  • Beğeniler 43 / 101
  • Ticaret 4, (%100)



Wordpress sitelerinizde kullanıcılar için rastgele buton yaparak hiç bakılmamış konularınıza dikkat çekebilir, sitenizin aktifliğini artırabilirsiniz. Ayrıca belirlediğiniz bir kategoriye görede rastgele yazı çekebilirsiniz yapabilirsiniz. Aşağıdaki kodu temanızın function.php dosyasını ekleyiniz.

function kategoriadiniz() {
global $wpdb;

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

$_GET['random_cat_id'] = KATEGORİ ID'NIZ;
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['kategoriadinizburaya'] ) )
add_action( 'template_redirect', 'kategoriadiniz' );
?>


Rastgele Yazı Getir

diyerek seçtiğiniz kategoriden rastgele içerik getirebilirsiniz.

Eğer tüm kategorilerde rastgele yaptırmak isterseniz aşağıdaki kodu kullanın.

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' );
}
?>


Dikkat etmeniz gereken önemli nokta kodlarda kategori id’nizi girmeyi unutmayın ve siteniz.com/?rastgeleismi bölümünde istediğiniz adı yazın.

Kaynak: http://www.sayfakaynagi.com/kodlar/wordpress-rastgele-yazi-getirmek.html
 

 

wmaraci
reklam

siyahgiyen siyahgiyen SEO - E-Ticaret Gelir Arttırma Kullanıcı
  • Üyelik 01.12.2011
  • Yaş/Cinsiyet 36 / E
  • Meslek SEO - E-Ticaret Gelir Arttırma
  • Konum Bursa
  • Ad Soyad M** Ö**
  • Mesajlar 649
  • Beğeniler 121 / 191
  • Ticaret 20, (%100)
Guzel olmus . Uyguluyacagim kesinlikle
 

 

wordpressman wordpressman Webmaster Kullanıcı
  • Üyelik 18.03.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Webmaster
  • Konum
  • Ad Soyad S** A**
  • Mesajlar 541
  • Beğeniler 43 / 101
  • Ticaret 4, (%100)

siyahgiyen adlı üyeden alıntı

Guzel olmus . Uyguluyacagim kesinlikle


biraz karışık anlatmış olabilirim hocam sorun olursa yazın.
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al