6 Мар 2010Категория: Делаем сайты, Программирование Автор:

Как отображать последние записи с блога в статической странице

Допустим, вы на свой статический сайт решили поставить блог. Проблем никаких, но всегда есть желание, что бы на всех статических страницах отображались ссылки на обновления в блоге.

Практически на всех серверах есть поддержка SSI, поэтому самым простейшим будет написать маленький скриптик, который будет забирать из базы заголовки на новые статьи.

Итак, если SSI не включен, то включаем его:

Для Apache нужно добавить строку в .htaccess или в секцию VirtualHost / Directory вашего хоста:
AddHandler server-parsed .shtml .shtm .html .htm

Для nginx в файл nginx.conf:
ssi on;

Далее создаем файл в корне сайта ssi_latest_posts.php:

<?php
require_once(  './wp-config.php' );
$cache_expire = 3600; // сколько хранить кэш

if( file_exists("./cache/latest_posts.html") ) {
$mtime = filemtime("./cache/latest_posts.html");
if( $mtime >= time() - $cache_expire ) {
//заголовки нужны, что бы статические файлы оставались статическими
$etag = md5("./cache/latest_posts.html?".$mtime);
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $mtime)." GMT");
header("Etag: $etag");
readfile("./cache/latest_posts.html");
exit();
}
}
$posts = get_posts('numberposts=5');
ob_start();
?>Новые статьи в блоге

Дополнительно я создал папку cache, в которой хранится файлик кэша, что бы каждый раз не лазить в базу, и добавил заголовки, что бы статика оставалась статикой. Папке cache не забудьте дать права на запись (chmod 777)

Осталось в статических файлах в нужном месте добавить:


Метки: , , ,


Смотрите так-же:

    Обратите внимание

    Самодельная печка на отработаном масле
    stroitelstvo-domov.net
    Поездка в Сосновую Рощу
    cross-roads.ru
    Аксенова М. - Антология русской детской литературы. В 6 томах. Том 1
    store.cross-roads.ru

    Оставьте комментарий

    Необходимо войти что бы оставить комментарий.

  • Рекомендую

    Business Key Top Sites
  • Реклама