如何在单击按钮或链接时更新acf字段值?

时间:2014-07-23 23:05:02

标签: javascript php html wordpress advanced-custom-fields

当用户点击下面的其中一个链接时,我正在尝试使用update_field更新现有的ACF字段。该字段自动设置为"待定"新事件发生时的状态。当事件处于暂挂状态时,前端会为用户提供是接受还是拒绝该事件的选项。如果事件被接受,例如,"待定"在当前字段中将更新为"已接受。"相同的情况下"被拒绝。"这是我的HTML:

<a class="accept-button" onclick="">Accept</a>
<a class="reject-button" onclick="">Reject</a>

这是我主题的function.php:

function accept_event() {
    $value = $_POST['Accepted'];
    update_field('field_53bc53fb91487', $value, $event_id);
}
function reject_event() {
    $value = $_POST['Rejected'];
    update_field('field_53bc53fb91487', $value, $event_id);
}

我知道有两种方法可以做到这一点。一个需要刷新页面,另一个需要使用AJAX。我更喜欢只刷新页面而不是使用AJAX。我相信我可以使用Javascript实现这一目标?如果是这样,我真的不确定如何去做。有什么建议?思考?非常感谢任何和所有帮助!

谢谢!

1 个答案:

答案 0 :(得分:-2)

您可以尝试以下代码

<a class="accept-button" onclick="updateStatus('Accept')">Accept</a>
<a class="reject-button" onclick="updateStatus('Reject')">Reject</a>

<form action="/updateStatus.php" method="post" name="post-status" id="post-status">
<input name="event_id" value="<?php echo $event_id;?>" type="hidden"/>
<input name="status" id="status" value="" type="hidden"/>
</form>

<script>
   function updateStatus(status) {
      $('#status').val(status);
      $('#post-status').submit();
   }
</script>
在updateStatus.php中

$value = $_POST['status'];
$event_id = $_POST['event_id'];

update_event_status($value, $event_id) {
    update_field('field_53bc53fb91487', $value, $event_id);
}

// redirect back to your page

注意:代码未经过测试,因此可能会出现一些语法错误,您可能还需要根据需要更改一些内容,但我想您会了解它是如何工作的 此javascript代码也需要使用jQuery