我创建了一个简单的“收藏帖子”按钮,登录用户可以单击该按钮将帖子保存到他们的“收藏夹”列表中。该按钮将当前帖子 ID 附加到 user_meta 字段。
但是,在“我的收藏夹”页面上显示信息时,我有点卡住了。
我可以毫无问题地显示最喜欢的帖子 ID 列表,但是当我尝试添加帖子标题和永久链接等信息时,Wordpress 会将“我的收藏夹”页面信息传递到数组中。在“收藏夹”列表上方,用户还将看到一个超链接的“我的收藏夹”。
关于如何防止这种情况发生的任何想法。这是代码...
<?php //start favorites list
// Get user info.
global $current_user, $wp_roles;
get_currentuserinfo();
$myFaves = get_user_meta($current_user->id, 'faveposts', true);
$myFavesArray = explode(',',$myFaves);
sort($myFavesArray);
foreach ($myFavesArray as $myFave) :
?>
<a href="<?php echo get_permalink( $myFave ); ?>">
<?php echo get_the_title($myFave); ?>
</a>
<?php endforeach; //end favorites list ?>
这是输出...
<a href="http://sample-url.com/favorites/">
Your Favorites
</a>
<a href="http://sample-url.com/post-1/">
Post Title 1
</a>
<a href="http://sample-url.com/post-2/">
Post Title 2
</a>
帖子标题 1 和 2 是实际收藏帖子的示例。您的收藏夹是显示收藏夹的页面(不应显示)。
想法?
编辑
找到了解决办法。添加这段代码会从数组中删除当前帖子...
unset($myFavesArray[0]);
所以最终的代码是......
$myFaves = get_user_meta($current_user->id, 'faveposts', true);
$myFavesArray = explode(',',$myFaves);
unset($myFavesArray[0]);
sort($myFavesArray);
foreach ($myFavesArray as $myFave) :