It seems the meta value is double serialized.
Try this, it also cleans up your query, untested:
$results = $wpdb->get_column ( " SELECT meta_value FROM $wpdb->postmeta WHERE meta_key LIKE 'wpcomplete' " );
foreach ( $results as $result ) {
$item = maybe_unserialize( $result );
if ( is_serialized( $item ) {
$item = maybe_unserialize( $item );
}
foreach( $item as $obj ) {
foreach( $obj->buttons as $key => $value ) {
echo $value . '<br>';
}
foreach( $obj->course as $key => $value ) {
echo $value . '<br>';
}
}
}
If you know that the meta_key is exactly 'wpcomplete'
, then do not use LIKE
– it is slow. Instead, do this: WHERE meta_key = 'wpcomplete'