Niphellin dediği gibi yaparsanızda olur ama veritabanından fonksiyon okuduğu için sitenizde veritabanınız fazla büyükse ufakda olsa yavaş açılma olur.


function random_posts($ms_catID, $excerpt = '', $numPosts = '5', $customField = '', $customValue = '') {
        // returns an array of posts
        global $wpdb;
        $postSQL =  "SELECT $wpdb->post2cat.post_id, $wpdb->post2cat.category_id, $wpdb->posts.ID, $wpdb->posts.post_title, $wpdb->posts.post_excerpt";
        if ( $customField ) $postSQL .= ", $wpdb->postmeta.post_id, $wpdb->postmeta.meta_key, $wpdb->postmeta.meta_value";
        if ( $includeExcerpt )
        {
            $postSQL    .=    ", $wpdb->posts.post_excerpt";
        }
        $postSQL    .=    " FROM $wpdb->post2cat, $wpdb->posts";
        if ( $customField ) $postSQL    .=    ", $wpdb->postmeta";
        $postSQL    .=    " WHERE $wpdb->post2cat.category_id = '$ms_catID' AND $wpdb->posts.ID = $wpdb->post2cat.post_id AND $wpdb->posts.post_status = 'publish'";
        //    If the custom field is defined add it to the SQL
        if ( $customField )
        {
            $postSQL    .=    " AND $wpdb->postmeta.meta_key = '$customField' AND $wpdb->postmeta.meta_value = '$customValue' AND $wpdb->postmeta.post_id = $wpdb->posts.ID";
        }
        $postSQL    .=    " ORDER BY RAND() LIMIT $numPosts";
        $ms_articles    =    $wpdb->get_results($postSQL);
        if ( $ms_articles ) {
            foreach ( $ms_articles as $item ) {
                $ms_posts[] = array( 'title'=>str_replace('"','',stripslashes($item->post_title)),
                                     'permalink'=>post_permalink($item->ID),
                                    'excerpt'=>$item->post_excerpt
                                    );
            }
            return $ms_posts;
bu kodları silerseniz rastgele yazıları göstermez.