如果我需要在wordpress下管理自定义字段,而不是管理区域。换句话说,我需要用户从前端修改帖子自定义字段的内容。这样做的方法是什么?
作为实例,请将Stackoverflow.com想象成一个wordpress网站。在此网站下,upvotes / downvotes和accept状态的数量是我的2个帖子自定义字段。如何让前端用户在WP数据库中修改它们的值?
如果你有另一种更好的方法来创建投票系统和接受系统,使用wordpress,将非常感激。但是如果我的方法(使用帖子自定义字段)是okey,请引导我查找来自web或codex的文档以实现我的目标。
感谢您的平常帮助。
答案 0 :(得分:1)
我建议考虑一些事情:
您认为您希望为主题创建一个功能,允许用户在登录时更改帖子的元数据。 然而,实际情况并非如此 - 您需要做的是允许用户编辑自己的元数据元素(请参阅add_user_meta),这基本上只是一个哈希。元数据可能类似于array("post-666-vote" => -1, "post-777-vote" => 1)
,用于发布666后的投票和777后的投票。
因此,在加载每个帖子时,您的投票标记渲染器看起来像这样:
vote = get_post_meta($user_id, "post-" . $post_id . "-vote", true);
if(vote == -1) {
// Render down-arrow voting
} elsif(vote == 1) {
// Render up-arrow voting
} else {
// Render normal arrows
}
每个箭头可能必须发出AJAX请求才能更新帖子的元数据。这是一个很长的教程(但它不是非常复杂!我保证!)并且大约3/4的方式讨论了如何使用AJAX请求来修改某些用户的元数据。 http://wp.tutsplus.com/tutorials/plugins/a-primer-on-ajax-in-the-wordpress-frontend-actually-doing-it/
唯一真正的重大变化是WP AJAX请求调用的PHP函数还需要一个回调函数来更新帖子的元数据,并更改帖子本身的投票数。这样,当重新加载页面时,它将显示正确的投票数。