• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Дата в вордпресс

Статус
В этой теме нельзя размещать новые ответы.

saschok

Постоялец
Регистрация
17 Фев 2009
Сообщения
94
Реакции
13
Здраствуйте! При импорте в блог через rss, вордпресс выдает везде одинаковую дату 1 января 1970, с чем это связано и как это можно исправить
 
Здраствуйте! При импорте в блог через rss, вордпресс выдает везде одинаковую дату 1 января 1970, с чем это связано и как это можно исправить
1 января 1970 00:00:00 - это таймштамп = 0;
проверь в базе данных в таблице (префикс)posts значения поля с типом datetime. если туда не пишется дата, то остаются дефолтные нули, следствием чего и является то что у тебя происходит. проверь RSS-ник на наличие даты, на её формат. закинь сюда код одного поста с RSS-ника
 
1 января 1970 00:00:00 - это таймштамп = 0;
проверь в базе данных в таблице (префикс)posts значения поля с типом datetime. если туда не пишется дата, то остаются дефолтные нули, следствием чего и является то что у тебя происходит. проверь RSS-ник на наличие даты, на её формат. закинь сюда код одного поста с RSS-ника
в базе данных указана дата 1969-12-31 23:59:59 на всех постах
вот пример xml файла
Код:
<?xml version=”1.0″ encoding=”utf-8″?>
<rss version=”2.0″
xmlns:content=”http://purl.org/rss/1.0/modules/content/”
xmlns:wfw=”http://wellformedweb.org/CommentAPI/”
xmlns:dc=”http://purl.org/dc/elements/1.1/”
xmlns:atom=”http://www.w3.org/2005/Atom” >
<channel>
<generator>http://wordpress.org/?v=2.7</generator>
<language>ru</language>
<item>
<title>название поста</title>
<pubDate>March 08, 2009, 22:10</pubDate>  
<content:encoded><![CDATA[ 
тута текст
  ]]></content:encoded>
</item>
</channel>
</rss>
 
файл wp-admin/import/rss.php , строки 63-73
PHP:
if ($post_date_gmt) {
 $post_date_gmt = strtotime($post_date_gmt[1]);
} else {
// if we don't already have something from pubDate
 preg_match('|<dc:date>(.*?)</dc:date>|is', $post, $post_date_gmt);
 $post_date_gmt = preg_replace('|([-+])([0-9]+):([0-9]+)$|', '\1\2\3', $post_date_gmt[1]);
 $post_date_gmt = str_replace('T', ' ', $post_date_gmt);
 $post_date_gmt = strtotime($post_date_gmt);
}
$post_date_gmt = gmdate('Y-m-d H:i:s', $post_date_gmt);
$post_date = get_date_from_gmt( $post_date_gmt );

явно не нравится ему формат даты, из-за этого strtotime возвращает результат -1, а потом после ветвления gmdate(-1) возвращает ту дату что у тя получилась. т.е. 0 таймштампа без 1 секунды
 
файл wp-admin/import/rss.php , строки 63-73
PHP:
if ($post_date_gmt) {
 $post_date_gmt = strtotime($post_date_gmt[1]);
} else {
// if we don't already have something from pubDate
 preg_match('|<dc:date>(.*?)</dc:date>|is', $post, $post_date_gmt);
 $post_date_gmt = preg_replace('|([-+])([0-9]+):([0-9]+)$|', '\1\2\3', $post_date_gmt[1]);
 $post_date_gmt = str_replace('T', ' ', $post_date_gmt);
 $post_date_gmt = strtotime($post_date_gmt);
}
$post_date_gmt = gmdate('Y-m-d H:i:s', $post_date_gmt);
$post_date = get_date_from_gmt( $post_date_gmt );
явно не нравится ему формат даты, из-за этого strtotime возвращает результат -1, а потом после ветвления gmdate(-1) возвращает ту дату что у тя получилась. т.е. 0 таймштампа без 1 секунды

Да я вообщем софт на вдске сменил, и все стало нормально, правда пришлось со блогами распрощаться, да и пофиг все раввно они с кривой датой получились, а софт был на вдс(firstvds) ispmanager, я поменял на soft2006 и все стало нормально работать
 
Немного не по теме. Но чтоб не создавать новую..

Есть ли плагин или другое бесплатное решение для WP, изменяющее дату постов случайным образом?

Дело в том, что сконвертил базу из другого движка, однако дата постов при этом стала сегодняшней :) Не хотелось бы вручную редактировать несколько сотен записей.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху