Когда-то, впрочем, не так давно, r_l@ljr сделал офигенный проект — новостные постапокалиптчиеские заголовки. В виде простого скрипта PHP.
Идея крутая, и мне показалось, что неплохо бы ее использовать в дизайне своего сайта. В результате я пошел и спросил у r_l@ljr исходники, а дизайнеры внедрили этот прикол в тему оформления.
Заметка, скорее от склероза, и чтоб не пролюбить… Но мало ли кому понадобится.
При заходе на любую страницу сайта http://tolik-punkoff.com, в его шапке вы можете увидеть сгенерированный «заголовок новости»:
см. ссылку.
см. ссылку
Как эта штука сделана в моей теме и версии WordPress:
Понадобится оригинальный архив (ссылка в конце заметки)
В нем 3 файла:
news_data
— файл с массивами фраз для генерации заголовка
global.php
— файл скрипта, отображающего заголовок. Новый заголовок генерируется автоматически, через заданное время.
globalf5.php
— заголовок генерируется один раз, надо нажать F5, т.е. обновить страницу, чтобы получить новый.
Внимание: в файле news_data
пропущена запятая, даже в нескольких местах, так что если сами будете делать, поправьте. На локальном web-сервере, должно быть видно где.
1. Закачиваем в директорию темы, например, your-site.org/wp-content/themes/beach/
, конкретика зависит от вашего хостера, исправленный файл news_data
.
2. Создаем скрипт news.php следующего содержания:
<?php $where=array(); $subject=array(); $action=array(); $object=array(); $parts=array(); include(__DIR__.'/news_data'); foreach ($parts as $part) { $news[$part]=${$part}[mt_rand(0, count(${$part})-1)]; } $obs=implode(' ', $news)." "; ?>
В конце заметки ссылка на PasteBin
3. Далее находим файл заголовка темы (в редакторе темы WordPress), скорее всего это будет header.php:
В самом начале подключаем скрипт news.php:
<?php
/**
* @package Beach
*/
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
include(__DIR__.'/news.php');
...
Команды ini_set
используются для отладки, если что-то пошло не так, скорее всего, вам вывалится сообщение об ошибке. Не буду на этом останавливаться, т.к. подробное описание есть в любом учебнике по PHP, выкиньте эти команды, когда все заработает. include(__DIR__.'/news.php');
подключает ранее созданный скрипт.
4.Внедряем скрипт в header.php
, в «шапку» страницы:
...
<h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
<h3 id="apoknews"><?php echo $obs; ?></h3>
</hgroup>
...
В зависимости от используемой темы, вы сами должны найти место, куда внедрять данный код (выделенный жирным).
5. Подправляем CSS. Файл: style.css
В начале файла дописываем:
#apoknews { color: RGB(255, 215, 0); background-color: RGB(0, 0, 0); text-align:left; border: 3px solid #ffd700; padding-left: 7px; }
Код скрипта данных
Код скрипта отображения (news.php
)
Фрагмент кода скрипта формирования заголовка header.php
.
CSS