0

如果我需要在 wordpress 下管理自定义字段,而不是从管理区域。换句话说,我需要用户从前端修改帖子自定义字段的内容。这样做的方法是什么?

例如,请把 Stackoverflow.com 想象成一个 wordpress 网站。在此站点下,赞成/反对票的数量和接受状态是我的 2 个帖子自定义字段。如何让前端用户修改他们在 WP 数据库中的值?

请如果您有另一种更好的方法来创建投票系统和接受系统,使用 wordpress,将不胜感激。但是,如果我的方法(使用自定义后字段)是好的,请指导我从网络或 codex 中查找文档以实现我的目标。

感谢您平时的帮助。

4

1 回答 1

1

我建议考虑几件事:

  1. 每个帖子都应显示赞成票和反对票的总和
  2. 每个用户只能投赞成票或反对票一次(即,一个用户不能对同一个帖子投票一百次)

您认为您希望为您的主题创建一个功能,该功能允许用户在登录时更改帖子的元数据。然而,实际情况并非如此——您需要做的是允许用户编辑他们自己的元数据的一个元素(参见add_user_meta),该元素基本上只是一个散列。元数据可能类似于array("post-666-vote" => -1, "post-777-vote" => 1)对 666 后的投票和对 777 后的投票。

因此,在加载每个帖子时,您的 vote-tally-renderer 将如下所示:

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 函数还需要一个回调函数来更新帖子的元数据,并更改帖子本身的投票数。这样,当页面重新加载时,它将显示正确的投票数。

于 2013-05-07T01:48:34.547 回答