Kategori :
Merhaba arkadaşlar bu yazımda eklenti kullanmadan wordpress rastgele yazı özelliğinin nasıl yapıldığını göstereceğim. Benim ve bir çok blogun kullandığı bir özellik. Bu özellik sayesinde eski unutulmuş veya bilgi verici yazılarınızı ziyaretçilerinize okutabilirsiniz. Fonksiyonun işlevi olan bu özellik linke tıkladığımız zaman rastgele bir makale (Yazı) ‘ye gitmesidir. Hemen bu özelliğin nasıl yapıldığını anlatayım.

functions.php dosyasından <?php kodunu buluyoruz. Bu kodun hemen öncesine aşağıdaki kodları ekliyoruz.

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' );
}
Her şeyi anladık peki rastgele yazıya nasıl gideceğiz? Bunun için de ister üst menüye ister yan menüye veya özel bir alana link verebilirsiniz. Vermeniz gereken link aşağıdaki şekilde olmalıdır.
http://www.siteadiniz.com/?rastgele