Wordpress

Wordpress Rastgele Yazı Linki Oluşturma

Wordpress Rastgele Yazı Linki Oluşturma – Wordpress Rastgele Yazı Butonu  Oluşturma

Wordpress blogunuzda bir linke tıklandığında rastgele yazının çıkmasını yani linke tıklandığında herhangi bir yazıya yönlendirilmesiniz istiyorsanız bu makale tam sizin için;)

Hemen başlayalım
Aşağıdaki kodları wordpress temanızda functions.php de herhangi bir yere ekleyelim

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

Daha sonra dosyayı kaydedip çıkın ve işlem tamamdır.Link nasıl olacak derseniz örnek olarak:

<a title=”Rastgele Yazım Yazı” href=”http://www.site.com/?rastgele”>Rastgelsin</a>

oradaki “site.com” u değişmeyi unutmayın :)

kaynak: wpuzmanı

İlgili Makaleler

5 Yorum

  1. Özür dilerim. Orayı görmedim. Herhalde ben yapamıyorum. Ama deniycem :). Güzel bi paylaşım. Teşekkrler!

  2. ben denedim çalışıyor hatta isterseniz sağ üstte y”eni bir şeyler görmek ister misiniz?” linkine tıklayarak deneyebilirsiniz.

Bir yanıt yazın

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

Başa dön tuşu