Updating custom user meta

时间:2016-10-11 作者:Will

我已经为我的wordpress用户创建了一个新的自定义元。这只是两个单选按钮(“是”或“否”)。

我已经在前端创建了一个按钮,并希望它能够在单击按钮时更改“True”。默认情况下,它将设置为“否”值,并且我不必担心按钮再次被单击,因为一旦值设置为“True”,我将隐藏按钮。

Iv找到了几种可以显示带有提交按钮的表单的方法,但只需一个按钮就可以了吗,如下所示:

<button id="updateMyUserMeta" name="updateMyUserMeta">Update</button>

1 个回复
SO网友:Jeroen Schmit

通过添加onclick 事件到您的按钮:

<button id="updateMyUserMeta" name="updateMyUserMeta" onclick="window.location.href(\'http://example.com?my_custom_user_meta=true\');">Update</button>
然后将此添加到functions.php 你的主题。

/**
 * Updates the \'my_custom_user_meta\' field if the
 * user clicks the \'Update\' button.
 */
function update_my_custom_user_meta() {

  if (empty($_GET[\'my_custom_user_meta\']) {
    return;
  }

  $user_id = current_user_id();

  if (empty($user_id)) {
    return false;
  }

  update_user_meta( $user_id, \'my_custom_user_meta\', true); 
}

add_filter(\'init\', \'update_my_custom_user_meta\');
更改http://example.com 到您网站的URL并更改my_custom_user_meta 到用户元字段的名称。

为了确保安全,您还应该adding nonce checks.

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果