F
Hallo Leute,
ich verwende auf einer Seite Wordpress. Zur besseren Anzeige der Kategorien verwende ich ein Widget (Plugin), was mir die Kategorien in einer Baumstruktur anzeigt.
Nach dem Update von Wordpress 2.5 auf 2.6 macht dieses Plugin Probleme.
Nach jedem Einfügen/Ändern eines Artikels kommt folgende Meldung (die Header-Weiterleitung bricht dadurch ab):
Warning: unserialize() expects parameter 1 to be string, array given in .\wp-content\plugins\folding-category-widget\wp23_folding_cats.php on line 640
Ursächlich für dieses Warning ist folgende Funktion:
function getParental($options, $force = false)
{
if (($options['usecache'] == '1') || ($force == true))
{
$parental = get_option('widget_lwfcl-parental');
if (($parental != null))
{
$parental = unserialize($parental); // hier wird der Fehler ausgelöst
}
else
{
$query = 'SELECT * FROM `'.$wpdb->prefix.'term_taxonomy` JOIN `'.$wpdb->prefix.'terms` ON '.$wpdb->prefix.'terms.term_id = '.$wpdb->prefix.'term_taxonomy.term_id WHERE '.$wpdb->prefix.'term_taxonomy.taxonomy = "category"';
$categorylist = $wpdb->get_results($query, ARRAY_A);
foreach ($categorylist as $cat)
$parental[$cat['term_id']] = $cat['parent'];
update_option('widget_lwfcl-parental', serialize($parental) );
}
}
else
{
global $wpdb, $wp_query;
$query = 'SELECT * FROM `'.$wpdb->prefix.'term_taxonomy` JOIN `'.$wpdb->prefix.'terms` ON '.$wpdb->prefix.'terms.term_id = '.$wpdb->prefix.'term_taxonomy.term_id WHERE '.$wpdb->prefix.'term_taxonomy.taxonomy = "category"';
$categorylist = $wpdb->get_results($query, ARRAY_A);
foreach ($categorylist as $cat)
$parental[$cat['term_id']] = $cat['parent'];
}
return $parental;
}
$parental ist dort vom Typ "Array".
Wie muss ich den Code ändern, dass das Warning weg ist? Ich verstehe nicht so richtig die Funktion von "unserialize".
Und kennt jemand für Worpress ein weiteres gutes funktionierendes folding-category-widget? Die allwissende Müllhalde bringt schon paar Suchergebnisse, leider sind 99% davon unbrauchbar (buggy, alte Versionen, umständliche Installation).
MfG F98.