Новости времен апокалипсиса… На своем сайте.

Когда-то, впрочем, не так давно, [info]r_l@ljr сделал офигенный проект — новостные постапокалиптчиеские заголовки. В виде простого скрипта PHP.

Идея крутая, и мне показалось, что неплохо бы ее использовать в дизайне своего сайта. В результате я пошел и спросил у [info]r_l@ljr исходники, а дизайнеры внедрили этот прикол в тему оформления.

Заметка, скорее от склероза, и чтоб не пролюбить… Но мало ли кому понадобится.

При заходе на любую страницу сайта http://tolik-punkoff.com, в его шапке вы можете увидеть сгенерированный «заголовок новости»:


см. ссылку.
см. ссылку

Как эта штука сделана в моей теме и версии WordPress:

Понадобится оригинальный архив (ссылка в конце заметки)

В нем 3 файла:
news_data — файл с массивами фраз для генерации заголовка
global.php — файл скрипта, отображающего заголовок. Новый заголовок генерируется автоматически, через заданное время.
globalf5.php — заголовок генерируется один раз, надо нажать F5, т.е. обновить страницу, чтобы получить новый.

Внимание: в файле news_data пропущена запятая, даже в нескольких местах, так что если сами будете делать, поправьте. На локальном web-сервере, должно быть видно где.

Внедряем скрипт в тему WordPress

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)."&nbsp;";
?>

В конце заметки ссылка на 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

Скачать

1. Оригинальный архив
2. Готовый архив.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*