Para el random post esta estructura básica (agregando las variaciones que necesites, imágenes, etc) debería funcionarte.
Código PHP:
Ver original<ul>
<?php
$args = array( 'posts_per_page' => 8, 'orderby' => 'rand' ); $rand_posts = get_posts( $args );
foreach ( $rand_posts as $post ) :
setup_postdata( $post ); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach;
wp_reset_postdata(); ?>
</ul>
Lo que te falta, creo yo, es poner fin al primer bucle y restablecer la variable
$post. Para ello puede servirte la función
wp_reset_postdata(); que estás viendo en la línea 9.