Помогите встроить ВП в статику.

6666
На сайте с 10.01.2005
Offline
505
672

Значит вот как дела обстоят. Есть сайт www.onotole.net

К статике прилеплены в ифреймах куски от ВП, в которые посетители с удовольствием вставляют комментарии.

Конструкция идиотская и с точки зрения юзабилити и с точки зрения СЕО. Как сделать так, что бы посты ВП стали частью статической страницы?

ПС скрипт для комментов у меня есть, купил. Но в данном случае стоит задача не потерять те комментарии, которые уже есть в БД. Да, переносить вручную их тоже не очень хочется.

ППС статика поддерживает исполнение пхп скриптов.

ПППС: Да, ламмер. Если что объясняете - то медленно и доступно :)

Каждое мое сообщение проверила и одобрила Елена Летучая. (c) Для меня очень важно все что Вы говорите! (http://surrealism.ru/123.mp3) .
P
На сайте с 10.03.2008
Offline
168
#1

Если сам сайт без двига, то все потеряно. Даже скриптом перегнать комментарии из WP базы в базу скрипта комментариев не удастся, так как комментарии привязаны к постам WP, а не страницам сайта, поди разбери что куда :) Только руками.

6666
На сайте с 10.01.2005
Offline
505
#2

pistol, а какой нибудь инклюд, что бы комментарии вставлялись в тело страницы, а не в ифрейм?

_vb_
На сайте с 25.07.2009
Offline
104
#3

Не обязательно лезть в базу вордпресса. Можно просто через веб спарсить - привязка комментов к страницам сохраниться. Потом влить в базу скрипта комментариев.

Общий список страниц с комментами есть или нужно обходить по ссылкам на категории на главной?

В принципе, если проект некоммерческий, могу на выходных заняться.

Саратовская фракция серча (). Давайте посчитаемся.
P
На сайте с 10.03.2008
Offline
168
#4
6666:
pistol, а какой нибудь инклюд, что бы комментарии вставлялись в тело страницы, а не в ифрейм?

Даже если и можно было, все равно нельзя, так как кодировки разные у вп и сайта, выводились бы крякозябры. Крайне запущенныйслучай :)

Если на хостинге работает iconv, попробуйте

<?php

function get_wp_comments($id) {
$id = (int)$id;
mysql_connect('localhost', 'root', '10111988');
mysql_select_db('test');
mysql_query("set character_set_results='utf8'");
$query = mysql_query("SELECT * FROM `wp_comments` WHERE `comment_post_ID` = '$id' AND `comment_approved` = '1'");
while($row = mysql_fetch_array($query)) {
$row['comment_author'] = iconv('UTF-8', 'windows-1251//ignore', $row['comment_author']);
$row['comment_content'] = iconv('UTF-8', 'windows-1251//ignore', $row['comment_content']);
echo "<div class='comment'><strong>$row[comment_author]</strong>:<br />$row[comment_content]</div>";
}
}
get_wp_comments(28);
?>

Перед ифреймом.

get_wp_comments(28); - тут в скобках номер записи (?p=N из ифрейма)

mysql_connect('localhost', 'root', 'pas'); - тут свои данные вводите (хост, юзер, пароль для базы).

mysql_select_db('test'); - тут test - название базы с WP

В ифрейме остается только одну форму выводить (редактировать commenst.php из шаблона WP, оставить только форму). Либо вместо ифрейма вписать вручную код формы.

6666
На сайте с 10.01.2005
Offline
505
#5
pistol:
так как кодировки разные у вп и сайта,

А если на сайте поменять кодировки? В принципе дримвивер должен за 3 минуты справиться..

Str01tel
На сайте с 27.12.2009
Offline
26
#6

Как вариант:

1.Парсим сам сайт выдирая ссылки <iframe name="I1" src="http://onotole.net/legend/?p=13" и определяем к какому посту в WP привязана текущая страничка

2. Берем из WP комменты привязанному к этому посту и переносим в базу нового скрипта с привязкой по uri (на 99% процентов уверен что в новом скрипте идет привязка по 'REQUREST_URI' )

вообщем все автоматизируется достаточно просто

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий