像@s_ha_dum 如前所述,您的语法混合了JS和PHP;需要Ajax。我会尽力给你指出正确的方向。
这应该是您的javascript:
jQuery(document).ready(function($) {
$(\'button#rsvp_button\').click(function qwe4_tracker(){
var data = { action: \'my_action\' };
$.post(ajaxurl, data, function(response) {
//alert(\'Got this from the server: \' + response); // Uncomment to use for testing
});
});
});
备注:
我们使用jQuery(document).ready(function($){
开始我们的JS。这是为了防止使用全局$
jQuery变量。
风险值data
包含action
; 必须在PHP中使用add_action
如下所述。
这应该是处理AJAX的PHP函数:
add_action(\'wp_ajax_my_action\', \'my_action_callback\');
function my_action_callback() {
global $post; // You still may need to pass the POST ID here from the JS ajax.
// get each post by ID
$postID = $post->ID;
// get the post\'s custom fields
$custom = get_post_custom($postID);
// find the view count field
$views = intval($custom[\'number_attending\'][0]);
// increment the count
if($views > 0) {
update_post_meta($postID, \'number_attending\', ($views + 1));
} else {
add_post_meta($postID, \'number_attending\', 1, true);
}
die(); // this is required to return a proper result
}
PHP函数将处理post meta中数字的更新。。JS告诉PHP(通过ajax)在单击按钮时进行更新。
注:
获取正确的Post ID可能仍然存在问题。如果是这样,那么您需要通过PHP代码在全局JS变量中声明这一点。
祝你好运