Иногда возникает необходимость вывести случайную запись (random post), вот несколько решений.
Случайный пост
<?php query_posts('orderby=rand&showposts=1'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>" style="text-align: center;">
<a href="<?php the_permalink(); ?>">
<?php if( has_post_thumbnail() )
{the_post_thumbnail(square);}
else
{echo '<img src="'.get_bloginfo("template_url").'/images/img-default-square.jpg" />';}
?>
</a>
<div class="line-cont">
<h2 class="title-post"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
</div>
</div>
<?php endwhile; endif; ?>
Случайная запись Ajax
Запись будет подгружаться без перезагрузки страницы.
Создаем текстовый виджет вставляем в «тело»
<div id="randomPost">... loading ...</div> <a href="#" id="another">Случайная запись</a>
Создаем новый шаблон страницы
<?php
/*
Template Name: Random Post
*/
?>
<?php
query_posts('showposts=1&orderby=rand');
the_post();
?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink(); ?>">
<?php if( has_post_thumbnail() )
{the_post_thumbnail(square);}
else
{echo '<img src="'.get_bloginfo("template_url").'/images/img-default-square.jpg" />';}
?>
</a>
<h3 class="title-post"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
</div>
Создаем страницу с шаблоном Random Post, адрес страницы должен быть /random/
Добавляем скрипт
$("#randomPost").load("/random/");
$("#another").click(function(){
$("#randomPost")
.text("... loading ...")
.load("/random/?cachebuster=" + Math.floor(Math.random()*10001));
return false;
});
Случайный вывод элемента массива php
<?php $input = array( "<div class='step step-one'>«Я верю в чудо, я не буду плакать,</div><div class='step step-two'>И я не буду чудо на Facebook'е лайкать»</div>", "<div class='step step-one'>«Настя засыпает на твоем плече</div><div class='step step-two'>Если поцелуешь злую, улыбнется»</div>", "<div class='step step-one'>«Взлетали мы в Италию.</div><div class='step step-two'>Но тот ли ты, и та ли я?»</div>", "<div class='step step-one'>«Мне нужно больше, чем есть,</div><div class='step step-two'>Мне нужно больше, чем можно»</div>", "<div class='step step-one'>«Ты обнимаешь меня</div><div class='step step-two'>и весь мир становится пьяным»</div>" ); $rand_keys = rand(0, 4); echo $input[$rand_keys]; ?>[site-socialshare]

