我的做法是:
创建多个AJAX calls 使用绑定到订阅/跟踪按钮的nopriv钩子单击在PHP回调函数中,我会使用add_user_meta
, get_user_meta
, delete_user_meta
.最后,我将创建一个条件函数,用于模板中,该函数可下拉用户元,检查当前标记或用户,然后返回布尔值,以便呈现按钮的正确状态AJAX PHP回调将使用如下内容:
global $current_user;
get_currentuserinfo();
$tags = get_user_meta($current_user->ID, \'tag_subscription\');
if(in_array($tag_slug, $tags))
//do something
else
add_user_meta($current_user->ID, \'tag_subscription\', $tag_slug, false);
要从用户元数组中删除元素,请执行以下操作:
delete_user_meta($current_user->ID, \'tag_subscription\', $tag_slug);
在模板中,条件模板标记如下所示:
if(is_user_subscribed()){
//display this state of the button
}
else{
//display another state of the button
}
希望这对你有帮助!