Комментирование закрыто.
Утстановка WordPress 2.2
Испытуемая версия WordPress 2.2
Скачайте wordpress с официального сайта а русификатор можно найти у меня. В архиве папка languages, поместите ее в папку wp-content и все. Существует альтернативный способ – руссифицированный wordpress с сайта maxsite.org, но я вам его не рекомендую. Зачем вносить правки в ядро, если есть более цивилизованный способ.
Для установки wordpress необходимо выполнить следующее:
Перед началом инсталляции скопируйте файл wp-config-sample.php как wp-config.php
ну и заполните в нем данные о доступе к вашей базе данных и всё.
Можно приступать к настройке.
Для интереса заглянул в БД на созданные таблицы:
- wp_categories // категории
- wp_comments // комментарии
- wp_link2cat // категории для ссылок
- wp_links // blogroll – обмен ссылками
- wp_options // это сохраняемые переменные/опции сайта
- wp_post2cat // привязка тегов
- wp_postmeta // какая-то мета-информация для страниц (не постов)
- wp_posts // здесь хранится контент
- wp_usermeta // любые данные любого пользователя, типа userid > key > value
- wp_users // информация о пользователях
Все ясно, ничего лишнего.
Закачал темы с wordpress.org
Путь для их сохранения /home/site.ru/www/wp-content/themes/
Взял для себя за основу одну из трех-колоночных тем.
Редактирую тему, все очень просто:
ковыряем header.php, footer.php, style.css, sidebar.php
ну вот получилось, то что надо.
Бросается в глаза множественное присутствие php кода в шаблонах,
многим это не понравится, но не мне. Для человека не
программирующего в php, код возможно покажется сложноватым, но тем не менее,
в наших руках оказался инструмент для гибкой настройки блога.
Создаю, категории, страницы, посты.
Категории, которые будут нашими тегами реализованы просто и изящно, в виде древовидной структуры любой вложенности.
У категории имеется заголовок (название) и короткая ссылка для обращения к ней.
Так смотрим опции:
Очень понравились опции Permalink, т.е. кроме того, что имеется возможность
воспользоваться готовыми сценариями разбора url можно еще и свой придумать
в рамках дозволенного.
Так, я не хочу, что бы адрес моих статей был типа site.ru/?p=123,
второй вариант site.ru/2007/07/13/sample-post/ уже лучше,
третий вариант site.ru/archives/123 тоже ничего, но я использую
четвертый – Custom:
Custom structure:/%category%/%postname%/
Optional Category base: /tags
Теперь обращение к моим статьям будет в таком виде
site.ru/sample-tag/sample-post
а чтобы не было конфликтов имен с категориями (тегами)
к ним обращением будет таким site.ru/tags/sample-tag
такой вариант вывода потребуется мне для сохранения работоспособности старых адресов.
BlogRoll – удобный инструмент для управления ссылками на вашем сайте.
Ping и TrackBack – Реализация интересной идеи пинга блогов между собой,
т.е. если в другом блоге появился комментарий к вашему посту, вы будете уведомлены об этом,
свое разрешение или не разрешение на эти действия вы даете при создании статьи.
Есть возможность подключать свой код (свои функции) для этого в папке вашей темы создайте файл functions.php
и сложите туда свои функции.
Структура контента такова, что мы имеем посты (posts) и страницы (pages)
которые между собой ничем не связаны,
а мне вот логичным представлялось принадлежность постов страницам.
Хотя после прочтения в документации раздела Pages
становится понятным, что это отдельный тип контента, который не будет меняться часто, для примера приводятся такие страницы как: Контакты, Обо мне, О сайте и т.д.
Но я буду использовать их несколько в другом качестве, а все потому,
что теперь передо мной стоит задача после переезда на Wordpress сохранить старые пути сайта.
В первую очередь для того, чтобы Яндекс с Гуглем на меня “не обиделись”.
На старой CMS имелась следующая ссылка /webmaster/standarty_i_programmirovanie.html
В данный момент у меня есть страница /webmaster/
и есть пост /standarty_i_programmirovanie
а если данному посту сопоставить категорию webmaster
получаем путь /webmaster/standarty_i_programmirovanie
любопытный факт – при создании короткой ссылки поста содержащей точку в имени он (wordpress) её похерил,
но тем не менее к посту он позволяет обращаться и с точкой и без
/webmaster/standarty_i_programmirovanie.html
/webmaster/standarty_i_programmirovaniehtml
т.е. для корректной выборки статьи по старому адресу
мне нужно назвать статью standarty_i_programmirovaniehtml (с окончанием html)
мдааа..
а вот drupal позволяет создавать сколько хочешь альясов т.е. имен одних и тех же страниц,
но к друпалу мы еще вернемся в других статьях
Для того чтобы понять как wordpress анализирует запрос адреса, я полез в wp-includes/classes.php
Итак wordpress при загрузке страницы формирует массив правил, а потом сравнивает строку запроса с правилами,
их можно посмотреть, разместив в index.php следующую строку: <pre><? print_r($wp_rewrite) ?></pre>
отсюда следут, что все страницы при запуске анализируются (т.е. загружаются целиком из базы) и в массиве $wp_rewrite['rules'] можно увидеть сформированные из них правила.
Данное обстоятельство привело меня к мысли, что создать плагин АЛЬЯСЫ (Псевдоимена) будет проблематично без вмешательства в ядро.
Кроме того факт того, что движок блога грузит в память ВСЕ страницы целиком, к какой из них вы бы не обращались, говорит о том что страницами лучше не пользоваться в массовом порядке, а лишь в единичном.
В моем случае страницы будут выполнять роль связующего элемента для сохранения старых путей сайта.
Используя макет page.php находящийся в папке темы я буду выводить список постов категория которых соответствует имени загруженной странице:
<!-- content -->
<? // получение категории по имени текущей страницы$cat_object = get_category_by_path($pagename); ?>
<ul>
<? // Вывод дочерних страниц текущей страницы
wp_list_pages("title_li=&child_of=".$post->ID); ?>
</ul>
<? // Цикл получения постов в соответсвующей категории
$categoryvariable=$cat_object->cat_ID; // assign the variable as current category
$query= 'cat=' . $categoryvariable. '&orderby=date&order=DESC'; // concatenate the query
query_posts($query); // run the query
// <!-- Start the Loop. -->
while (have_posts()) : the_post(); // start your Loop
?>
<div class="item entry" id="post-php<? the_ID(); ?>">
<h1><a href="<? the_permalink() ?>" rel="bookmark"><? the_title(); ?></a></h1>
<div class="date"><? the_time('d/m/Y H:i') ?></div>
<? the_excerpt(); ?>
<small class="metadata">Рубрики <span class="category"><? the_category(', ') ?> </span>
| <? edit_post_link('Изменить', '', ' | '); ?>
<? comments_popup_link('Комментарии (0)', ' Комментарий (1)', 'Комментарии (%)'); ?>
</small>
<!-- end item -->
</div>
<? endwhile; ?>
<!-- end content -->
на этом пожалуй пока все.
Следующим этапом я пороюсь во всем многообразии плагинов для wordpressa.
Рубрики CMS, WordPress, Вебмастеру | Comments Off