Перенос статей из LiveStreet в WordPress


Однажды, когда я только попробовал LiveStreet, я решил, что это лучшая в мире CMS, а все остальные ей просто завидуют. Прямо свой Хабрахабр с блэкджеком и поэтессами! Но увы, LiveStreet медленно погибает. Хороших и бесплатных плагинов всё меньше и меньше. Да и все-таки скорее LS это фреймворк, нежели CMS. Вобщем на каком-то этапе я решил вернуться обратно к своему любимому WP.

 

livestreet to wordpress

Сразу же оговорюсь, что этот способ не что иное, как импорт немного видоизмененной RSS ленты штатными средствами WP. Статьи переносятся не полностью:  Импортируется только текст и ссылки. Тэги/авторы/категории и вложения не перенесутся). Если эти условия вас устраивают, то поехали:

1. Получаем полный RSS для LiveStreet

По дефолту RSS лента в LiveStreet обрезается по тегу <cut> и в конце прикрепляется ссылка. Это нам не подходит, нам нужны полные , с огромным трудом написанные, статьи.

Для этого мы отправляемся в /classes/actions/  и откроем файл ActionRss.class.php. Видите в самом низу функцию getTopicText?

01
02
03
04
05
06
07
08
09
10
11
12
13
14
protected function getTopicText($oTopic) {
        $sText=$oTopic->getTextShort();
        if ($oTopic->getTextShort()!=$oTopic->getText()) {
            $sText.="
<a href="{$oTopic->getUrl()}#cut" title="{$this->Lang_Get('topic_read_more')}">;";
            if ($oTopic->getCutText()) {
                $sText.=htmlspecialchars($oTopic->getCutText());
            } else {
                $sText.=$this->Lang_Get('topic_read_more');
            }
            $sText.="</a>;";
        }
        return $sText;
    }

Она и отвечает за формирования текста статей в RSS. Заменяем её на

1
2
3
4
protected function getTopicText($oTopic) {
        $sText=$oTopic->getText();
        return $sText;
    }

Проверяем на site.ru/rss/ — Работает. Нажимаем Ctrl+S и сохраняем файл с расширением xml, например ls-to-wp.xml.

 

2. Настройка файла.

Мы получили файл, который вполне подойдет нам для переноса в WP, но с одним тонким моментом. Всё, что находится внутри файла в тегах <category> не попадет в теги, а будет помещено в категории, которые будут созданы на лету. А нам оно не совсем нужно.

1
<category>Смоленск</category>
1
2
3
Чтобы победить это нам понадобиться продвинутый текстовый редактор <a href="http://notepad-plus-plus.org/download/" target="_blank">Notepad++</a>
 
Открываем наш файл, нажимаем Ctrl+F и переходим на вкладку "Заменить" и заполняем поля как на картинке.
1
Заменяем <category> на <tags> или любой другой тег.

replace
Нажимаем «Заменить всё» или «Replace all» — внизу синим цветом будет указано количество замененных записей. Сохраняем. Теперь наш документ не насоздает миллион категорий в нашем новом блоге на WordPress.

3. Импорт в WordPress блог

Мы получили ленту, готовую к импорту, дальше всё еще проще : Переходим в

Админка -> Инструменты -> Импорт

Появится примерно следующий выбор инструментов для импорта (зависит от версии WP)

ls-to-wp-import

 

В нем нажимаем на RSS. Движок предлагает нам установить плагин импорт с не очень хорошим рейтингом. Соглашаемся (чтож поделать).

ls-to-wp-import-rss

Выбираем заранее подготовленный файл ls-to-wp.xml и нажимаем «Запустить и импортировать файл»

 

Поздравляю, вы перенесли все статьи из старого блога в новый. Спасибо за

На правах рекламы: [sape]