Ich versuche, die Wordpress-Site eines Freundes auf die neuesten Versionen von Wordpress und PHP zu aktualisieren. Alles funktioniert gut, außer für einen Scroll-Newsticker, den er auf seiner Homepage benutzt, der mit "Illegal string offset date" ausgeht, und es werden keine Nachrichten angezeigt. Dies ist das Skript:Ungültiger Zeichenfolgen-Offset 'Datum'
<?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++;
}
?>
ich die Verwendung von $ otion zwei Mal bemerkt, was ich dachte, war vielleicht ein Tippfehler. Aber als ich das zu $ -Option änderte, wurde der Rest der Seite nicht geparst, also denke ich, dass das nicht das Problem ist.
Da bin ich kein Coder und ich zog meine Haare für 2 Nächte jetzt aus. Zeit, um Hilfe zu bekommen, bevor ich keine mehr habe. Kann mir jemand dabei helfen?
Meine erste Vermutung ist, dass "$ otion" * ist ein Tippfehler, und sollte "$ option" (obwohl es die Seite anhält). Andernfalls würde die folgende Zeile ihr '$ option'-Array von:' add_option ('xmlFeed', $ option); 'Also den Tippfehler korrigieren (weil Sie müssen), und überprüfen Sie Ihre Fehlerprotokolle/danach Fehlerberichte zu aktivieren sehen Sie, welcher Fehler dann ausgespuckt wird. – Marcus
Also mein Eingeweide hatte Recht mit dem $ otion. Ich änderte den Code und der Fehler, den ich in den Protokollen finden kann, ist: PHP Fataler Fehler: Uncaught Ausnahme "Exception" mit Nachricht "Serialisierung von 'SimpleXMLElement' ist nicht erlaubt" Ich werde Google in der Zwischenzeit – Jan
"* Ich werde in der Zwischenzeit Google dazu finden." "Warum sollten Sie sich die Mühe machen, wenn die ersten 5 Ergebnisse in Google Sie normalerweise direkt zu StackOverflow zurückbringen? Benutzen Sie einfach das Suchwerkzeug hier;) Spart Ihnen eine Rundreise. – Marcus