我有一个自定义字段附加到包含以下帖子标题数组的帖子。。。
a:6:{i:0;s:21:"Strawberry Cheesecake";i:1;s:15:"Flapjack";i:2;s:14:"Chocolate Muffin";i:3;s:27:"Apple Turnover";i:4;s:13:"Chocolate Cookie";i:5;s:13:"Shortbread";}
然后我输出这些帖子标题,搜索相关的permalink并使用….将其呼应出来。。。。
<?php
$speakerarray = get_post_meta($post->ID, \'cpt_food\', true);
$arrlength=count($foodarray);
for($x=0;$x<$arrlength;$x++)
{
$foodname = $foodarray[$x];
$posts = get_posts(array(\'name\' => $foodname, \'post_type\' => \'food\'));
$post = $posts[0];
$permalink = get_permalink($post->ID);
echo \'<a href="\';
echo $permalink;
echo \'">\';
echo $foodname;
echo \'</a>\';
echo "<br>";
}
?>
除了上次的结果之外,一切都很好,我已经用数组中的许多项复制了问题。。它总是最后一个失败的。它返回我当前所在页面的永久链接。
有人知道为什么吗?
SO网友:Horttcore
您应该使用foreach
循环,因为计数索引不是遍历数组的最佳方法。
<?php
$speakerarray = get_post_meta($post->ID, \'cpt_food\', true);
foreach($speakerarray as $foodname) :
$posts = get_posts(array(\'name\' => $foodname, \'post_type\' => \'food\'));
$post = $posts[0];
echo \'<a href="\' . get_permalink( $post->ID ) . \'>\' . $foodname . \'</a><br>\';
endforeach;
?>
我使用了一个在线工具来取消序列化您的数据,但它返回了一个错误?