Бесплатные CMS > SEO оптимизация WordPress > Случайное изображение

Вывод случайных записей WordPress

Случайная фраза на Вордпресс

WP Quotes еще автоматически подключает вывод случайной надписи прямо в bloginfo('description') и это еще один его плюс, который потакает лени блоггера во всех позах.

Но мы, как всегда, пойдем другим путем — не будем стесняться редактировать тему, за это деньги не берут.

Для начала нам нужен список фраз. Их можно хранить в массиве или еще как, но самый логичный способ — брать просто тектовую переменную, где отдельные фразы будут разделены переносом строки:

$lyrics = "Первая надпись
Вторая надпись
Третья надпись";

Ну или с ручным указанием переносов, это без разницы.

$lyrics='Первая надпись'."\n".
	  'Вторая надпись'."\n".
	  'Третья надпись'."\n";

После этого осталось только вычленить отдельные строчки и представить массивом

$lyrics = explode("\n", $lyrics);

И вывести случайный элемент массива, учитывая их количество всего.

_e(wptexturize($lyrics[ mt_rand(0, count($lyrics) - 1) ]));

Не забываем, что, если нам нужен вывод русских афоризмов (а не кракозябр), тот файл темы, в котором мы используем эту штуку, должен быть конвертирован в UTF-8 without BOM.

Элемент псевдослучайности

При включенном кешировании, естественно, на одной страничке афоризмы не будут меняться так просто (только по истечении срока и перезагрузке странички), но я попросту забыл, как в WP Cache отключить кеширование небольшого блока. Но, собственно, это и хорошо — потому как для блога лучше все-таки урезать случайность. Иначе страница с таким контентом никогда не отдаст код 340, даже если два года как не менялась.

В качестве «случайного» числа для статичности результата возьмем, например, ID страницы (для постов — это будет их айди, а для home, category и прочих — айди самого верхнего):

_e(wptexturize($lyrics[ (get_the_id())%(count($lyrics)) ]));

А чтобы, на главной странице, категориях и тегах фраза все-таки обновлялась (ведь они и так часто обновляются), используем старые добрые conditional tags — например, все тот же if(is_single()). Ну или, как вариант, там выводим что-то особенное.

Случайный тизер RSS

Аналогичный код используется в Random text (и, кажется, в RSS Footer). Поэтому, если так уж нужна случайная надпись, зазывающая подписаться на фид в конце поста, то опять забиваем на плагин и используем код выше. Но со следующими изменениями.

Во-первых, стоит задуматься, а зачем нужно 10 таких надписей на главной? Поэтому используйте код с if(is_single()) и будет счастье. Я бы еще добавил проверку на количество символов в статье, чтобы не отображать в коротких — там кнопка RSS и так в области видимости.

Ну а во-вторых, чтобы не писать триста раз один и тот же унылый тег ссылки, легко пользуемся вставкой прямо в строчки псевдотегов [RSS]что-то там[/RSS], которые потом заменяем с помощью str_replace() на <a href="...."> и &lt/a> соответственно.

Случайное изображение: вывод случайного изображения

Ну наконец, еще одна тривиальная задача — вывод случайного изображения (гертруда, ау).

Тут проще всего использовать уже готовый ротатор от Automatic. Это небольшой скрипт, воспринимающий все изображения форматов .gif, .jpeg и .png в папке, где лежит, выбирающий случайное из них и выдающий в качестве результата. Кроме этого он умеет менять папку и выдавать не только изображения, но и хтмл, но нам и так сойдет.

Берем скрипт, кидаем, например, в предварительно созданную папку rotator, созданную внутри папки нашей темы. В эту же папку (/wp-content/themes/%theme%/rotator, не запутайтесь) и закидываем сколько душе угодно изображений, ротацию которых будем осуществлять.

После этого можно использовать случайную картинку в качестве фона, прописав в нужном месте в CSS:

background-image:url(rotator/rotator.php) no-repeat;

Ну, или прямо в HTML:

<img src="<?php bloginfo('template_directory'); ?>/rotator/rotator.php">

Естественно, что в последнем случае лучше сократить путь до ротатора, поместив его в корневую сайта и использовав bloginfo('url').

Ну вот у вас и своя личная гертруда на блогосайте.

Несмотря на то, что название файла не будет меняться, даже при включенном кешировании или ETags для разных изображений будут изменяться last-modified и size, так что перегружаться они будут. С другой стороны, одно и то же изображение будет загружаться каждый раз заново, что можно было бы решить переписыванием скрипта так, чтобы отдавать не картинку, а ссылку на нее. Но, в принципе, без разницы — и так будет работать.

Можно придумать еще мульон подобных фишек, уйдя от случайности — например, менять оформление сайта в зависимости от времени суток или источника перехода посетителя (при переходе с блога врага — выдавать белую страницу с матерным словом). Просто разогреть фантазию до нужной кондиции и не считать, что контент — это единственная вещь в блоге. Ведь одно то, что многие называют текст, который они пишут и должны любить, таким сухим и чисто механическим определением, говорит о многом.

Единственная сложность в подобных «фишках» — как ублажить поисковики, которые не сильно любят частое изменение контента, и как оптимизировать этот процесс, чтобы не сильно повышать нагрузки на сервера и браузеры пользователей.


Меню сайта

Вывод случайных записей WordPress
Вывод случайных записей WordPress