Я пытаюсь обновить сайт Wordpress друга до последних версий Wordpress и PHP. Все работает отлично, за исключением прокручиваемого информационного бюллетеня, который он использует на своей домашней странице, с ошибками с «Неверным смещением строки», и никаких новостей не отображается. Это сценарий:Недопустимое смещение строки 'date'
<?php
$xmlOption = get_option('xmlFeed');
if (!isset($xmlOption)) {
$buildURL = "https://wordpress.org/news/feed/";
$request = curl_init();
curl_setopt($request, CURLOPT_URL, $buildURL);
curl_setopt($request, CURLOPT_HEADER, false);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($request);
curl_close($request);
$xml = new SimpleXMLElement($result);
$channel = $xml->channel;
delete_option('xmlFeed');
$otion = array(
'xml' => $channel,
'date' => date('y-m-d')
);
add_option('xmlFeed', $option);
}
if ($xmlOption['date'] == date('y-m-d')) {
$channel = $xmlOption['xml'];
} else {
$buildURL = "https://wordpress.org/news/feed/";
$request = curl_init();
curl_setopt($request, CURLOPT_URL, $buildURL);
curl_setopt($request, CURLOPT_HEADER, false);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($request);
curl_close($request);
$xml = new SimpleXMLElement($result);
$channel = $xml->channel;
delete_option('xmlFeed');
$otion = array(
'xml' => $channel,
'date' => date('y-m-d')
);
add_option('xmlFeed', $option);
}
$i = 0;
while ($i <= 5) {
echo "<li><a href='" . $channel->item->$i->link . "' target='_blank'>" . $channel->item->$i->title . "</a></li>";
$i++;
}
?>
Я заметил, использование $ otion два раза, что я думал, было возможно, опечатка. Но когда я изменил это на $ option, остальная часть страницы не была разобрана, поэтому я думаю, что это не проблема.
Поскольку я не кодер, и я вытащил волосы на 2 ночи. Время, чтобы получить помощь до того, как у меня их не осталось. Кто-нибудь может помочь мне с этим?
Моя первоначальная догадка заключается в том, что '$ otion' * - это опечатка и должна быть' $ option' (даже если она останавливает страницу). В противном случае, где бы следующая строка получала свой массив '$ option' из:' add_option ('xmlFeed', $ option); 'Так исправить опечатку (потому что вы должны) и проверить свои журналы ошибок/включить отчет об ошибках после этого посмотрите, какая ошибка выплевывается. – Marcus
Так что мои кишки были прав насчет $ otion. Я изменил код, и ошибка, которую я могу найти в журналах, это: '' PHP Неустранимая ошибка: исключение исключений «Исключение» с сообщением «Сериализация« SimpleXMLElement »не допускается» Я пока буду в Google на этом – Jan
«Я пока буду в Google». «Зачем беспокоиться, когда, как правило, первые 5 результатов в Google возвращают вас обратно в StackOverflow? Просто используйте инструмент поиска здесь;) Сохраняет вас в оба конца. – Marcus