I am trying to loop over an array but I keep getting the same error :/
Anyone has any idea what I'm doing wrong here?
my array:
$data[]= array('title' => get_the_title( $id ),
'link' => get_the_permalink( $id ));
My loop:
<?php foreach ($data as $item): ?>
<p><a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a></p>
<?php endforeach; ?>
I've dumped my array and it looks good so there's probably something wrong with my loop
As far as I can see you have an associative array with keys title
and link
so you don't have to call it like an object, simply do this..
<?php foreach ($data as $item): ?>
<p><a href="<?php echo $item['link']; ?>"><?php echo $item['title']; ?></a></p>
<?php endforeach; ?>
You have to print data object first to look that in data object you have required data.
<?php
echo '<pre>';
print_r(data);
echo '</pre>';
?>
from that data object you can correct your foreach loop
Please use this foreach
format
$data = array('title' => 5,
'link' => 5);
foreach ($data as $key => $value) {
echo $key;
}