GET_POSTS帖子标题固定链接对数组中的最后一项无效

时间:2013-03-12 作者:fightstarr20

我有一个自定义字段附加到包含以下帖子标题数组的帖子。。。

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>";
}
?>
除了上次的结果之外,一切都很好,我已经用数组中的许多项复制了问题。。它总是最后一个失败的。它返回我当前所在页面的永久链接。

有人知道为什么吗?

1 个回复
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;
?>
我使用了一个在线工具来取消序列化您的数据,但它返回了一个错误?

结束

相关推荐

Update page breaks permalinks

从3.3.1开始,我有一个奇怪的副作用。当更新页面(或创建新页面)时,我的所有永久链接都会中断-单击相关更新页面上的查看页面将导致404找不到。这不会发生在帖子中。我担心我的permalinks/%postname%/新模式可能会出现问题,但我将其替换为YEAR/postname,没有发现任何差异。我检查并发现帖子名称字段中有一些重复,我更改或删除了任何可疑的重复。仍然没有变化。这是我的htaccess-# BEGIN WordPress <IfModule mod_rewrite.c>