首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用javascript修改后,如何将自定义字段的值保存到wordpress的user_meta中?

要将自定义字段的值保存到WordPress的user_meta中,可以使用以下步骤:

  1. 首先,确保你已经在WordPress中创建了自定义字段。可以使用add_user_meta函数来创建自定义字段,例如:
代码语言:php
复制
add_user_meta( $user_id, 'custom_field_name', 'custom_field_value' );

这将在用户的元数据中创建一个名为'custom_field_name'的自定义字段,并将其值设置为'custom_field_value'。

  1. 在JavaScript中,使用WordPress提供的REST API来与后端进行通信。可以使用fetch或axios等库来发送POST请求,将自定义字段的值传递给后端。
代码语言:javascript
复制
fetch('/wp-json/wp/v2/users/' + userId, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-WP-Nonce': wpApiSettings.nonce // 需要在WordPress的页面中将wpApiSettings对象传递给JavaScript
  },
  body: JSON.stringify({
    meta: {
      custom_field_name: customFieldValue
    }
  })
})
.then(response => response.json())
.then(data => {
  // 处理保存成功后的逻辑
})
.catch(error => {
  // 处理保存失败后的逻辑
});

在上面的代码中,将自定义字段的值作为JSON数据的一部分发送到WordPress的REST API中。确保替换'custom_field_name'为你自己的自定义字段名称,userId为要保存的用户的ID,customFieldValue为要保存的自定义字段的值。

  1. 在WordPress的后端,使用REST API的钩子函数来接收并处理来自JavaScript的请求。可以使用register_rest_route函数来创建自定义的REST API路由,例如:
代码语言:php
复制
add_action( 'rest_api_init', function () {
  register_rest_route( 'custom/v1', '/save_custom_field/(?P<id>\d+)', array(
    'methods' => 'POST',
    'callback' => 'save_custom_field',
    'permission_callback' => function () {
      return current_user_can( 'edit_users' ); // 只允许具有编辑用户权限的用户访问
    }
  ) );
} );

function save_custom_field( $request ) {
  $user_id = $request['id'];
  $custom_field_value = $request['meta']['custom_field_name'];

  update_user_meta( $user_id, 'custom_field_name', $custom_field_value );

  return array(
    'success' => true,
    'message' => 'Custom field saved successfully.'
  );
}

在上面的代码中,创建了一个自定义的REST API路由'/custom/v1/save_custom_field/{id}',并将其与save_custom_field函数关联。在save_custom_field函数中,获取用户ID和自定义字段的值,并使用update_user_meta函数将其保存到用户的元数据中。

这样,当JavaScript发送POST请求到'/wp-json/custom/v1/save_custom_field/{id}'时,自定义字段的值将被保存到WordPress的user_meta中。

请注意,上述代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和安全性处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Code Embed:在WordPress文章和页面添加Javascript最佳插件

所以,当我们在谈论在WordPress嵌入JavaScript时,特指的是浏览器端JavaScript。 为什么要在WordPress文章或页面添加JavaScript?...第2步:在仪表板打开选项 激活后,在文章编辑页面,单击三个点点,在“选项”选择“ 自定义字段”选项。 ?...第3步:创建新JavaScript代码条目 在文章编辑器下方,将看到“自定义字段”框,你需要点击“输入新栏目(add new)”,然后输入自定义字段名称和字段。...需要注意是:你需要使用CODE前缀(例如,CODEshowtime)作为自定义字段名称,然后将javascript代码粘贴到字段。不要忘记单击“添加自定义字段”按钮以保存自定义字段。 ?...第4步:编辑页面或帖子,插入短代码 现在,你可以使用此自定义字段CODEshowtime将JavaScript代码嵌入到文章任何位置。只需在帖子内容任何位置添加这个名字即可 ,见上图。

4.5K40

修复 Valine 评论泄漏隐私问题

ip和邮件,主要还是邮件,一般来说ip默认是关闭,不过就邮件来说这个东西在评论里只是拿来调用 gravatar 头像和回复邮件提醒,我看作者都没所谓我也就没太关注这个,但邮件的确算个人隐私。...,用户评论时直接将邮件解析为 md5 字符串并储存到刚刚新建 md5mail 列,访问页面时直接调用 md5mail 作为评论头像输出即可。...其实 valine 自带了md5解析,但由于调用位置不同我就直接动态加载了另外md5.min.js(valine也自带了动态加载,不过这里还是自定义了)代码如下: function dynamicLoad...仅评论者当前浏览器可查)使用 valine 原生 md5 解析头像地址,否则从服务器返回数据查询每条评论已记录 md5mail 作为头像 md5 地址 // 此处已修复 @不染轻裳 提出 valine...,之后需要做就是为 leancloud valine 数据表存在每一条评论邮件解析为 md5 存到对应 md5mail 列(如果是新开评论则跳过,代码测试没问题后新评论后会自动写入 md5

11510

网站建设CMS系统之WordPress和PageAdmin评测

现在很多做网站,无论个人,企业都很少会从后台到前台全新去独立开发,都是借助现有的cms系统来搭建,国内做网站用得最多无外乎wordpress和pageadmin,个人站长,企业,很多网站建设公司也...,感觉用不上这东西,但当你真的需要做一些相关性调用时,你就知道这东西有多好用了,wordpress需要熟悉php后端编程,否则你wordpress只能越越火大。...2、关于后台功能 pageadmin后台重在灵活,尤其很多地方内置自定义字段自定义表单,可以高自由度实现很多功能。...,大家都知道政府网站对安全要求非常高,国家要求二级和三级等必须通过,由此可见pageadmin安全性非同一般。...其实,对于新网站来说,pageadmin与Wordpress无所谓谁高谁低,两套系统都是成熟建站系统,如果是偏于个人性质网站,推荐wordpress,如果偏于商业性质,推荐pageadmin。

1.6K40

使用内存缓存优化 WordPress 文章编辑锁定功能

多人作者 WordPress 在后台编辑文章,如果有其他用户也在编辑,在文章列表页会提示下面的信息: WordPress 文章编辑锁定功能 这个就是 WordPress 文章编辑锁定功能,提示当前谁在编辑这篇文章...,如果继续点击进去,WordPress 会再次提示如下信息: 这样就防止多人编辑文章产生了冲突,那么 WordPress 是怎么实现这个功能呢?...WordPress 将当前编辑文章用户ID 和时间戳存到一个叫做 _edit_lock 自定义字段,然后简单判断现在时间戳减去存储时间戳是否在 150 秒之内,如果是,就显示上面的信息。...使用内存缓存优化文章编辑锁定 所以每次更新文章,WordPress 都会更新 _edit_lock 这个自定义字段,因为这个字段没有其他用途,每次都需要更新,其实也是一种浪费。...对于这类「锁」字段,更好方法是存到内存,使用内存缓存特性来优化整个过程: 将下面的代码复制到当前主题 functions.php 文件,就可以使用内存来优化处理这个过程了: add_filter

35520

WordPress 数据库探究 #3 -- wp_postmeta

可能有很多东西你想保存到一些日志 -- 你写日志时候心情 ,你当时听的歌曲,你所处地理位置,一些相关日志列表,特定为搜索引擎指定日志信息等等。...所以这些东西都会保存到 wp_postmeta 这个表。 这个表结构是非常简单和灵活。它只有四个字段:meta_id,post_id,meta_key 和 meta_value。...或者 ‘The WordPress Song.mp3′)。 WordPress 使用这个表去存储附件额外信息,这些信息不适合 wp_posts 表(附件路径,缩略图信息,等等)。...另外,这个表还可以用来存储自定义字段(custom field)名字和 -- 你可以在日志编辑器下面看到自定义字段框。并且,当然,很多大量插件可以利用这个表。...所以,如果你决定在你制作插件使用这个表,务必为你 meta 健使用一些唯一名字。否则,你插件可能妨碍其他插件,并且你得到怪异和完全不可预料结果。

48420

WordPress

这段代码目的是为了在删除图像同时删除图像缩略图。在 WordPress 通过媒体管理器上传图像被表示为附件类型内容。...$meta['thumb'],从数据库检索,并保存成表示图像文章自定义字段。因此,在从数据库检索到unlink()函数调用之间表示缩略图文件名没有经过任何检查和过滤。.../wp-admin/post.php后面的代码片段,如上图,可以看到附件属于附件缩略图文件名如何保存到数据库。...在从用户传并赋给$_POST['thumb']数到保存到数据库wp_update_attachment_metadata()函数执行之间,没有安全措施来确保这个为真正是在编辑附件缩略图。...$_POST['thumb']可以变为任意文件路径,这个可以保存到 WordPress 上传目录相对路径,当附件被删除时,该文件将被删除。攻击者可利用此漏洞进而执行任意代码。

92640

WordPress 技巧:使用自定义字段给日志单独加载 JS 脚本

但是 WordPress 日志编辑框会对过滤这些 Javascript 脚本,所以我们无法直接把脚本写到日志,如果修改主题,把脚本添加到主题 header.php 文件,那么博客所有的页面都会加载这些脚本...所以这个时候我们可以通过 WordPress 自定义字段来给某篇日志单独加载 Javascript 脚本和 CSS 样式表。...假设我们给日志单独加载 Javascript 脚本自定义字段是 custom_head。...Javascript 脚本,使用自定义字段是 custom_head。...> 然后在编辑日志时候,在自定义字段区域,创建一个新自定义字段,名字为:"custom_head",输入你要单独为这篇日志加载 Javascript 代码或者 CSS 样式表即可。

65420

WPJAM 配置器:无需一行代码就能配置文章类型,自定义字段自定义分类,分类选项和全局选项

WordPress 受欢迎原因是其开放性和强定制性,说到定制性,我们知道 WordPress 支持自定义文章类型,自定义分类模式,文章类型又支持无限字段,分类模式也支持字段,并且还可以定义全局选项等。...分类选项 WordPress 分类,标签或者自定义分类编辑页面没有 meta box,所以创建分类选项时候,直接添加字段就好: 输入字段名,适用分类模式,字段一样使用 shortcode 方式设置...,同样具体可以参考:WPJAM 配置器字段使用说明 如上最后在自定义分类编辑页面生成表单如下所示: 全局选项 全局使用一些设置,我们叫做全局选项,存储在 options : 选择全局选项名称和选项...: 如果不小心把这些设置删除了,那么你配置也会消失,为了防止这种情况发生,我还非常贴心创建了一个「配置器模板」功能,你可以把你配置保存到数据库,下次还可以再使用: 可以上传当前配置到模板库...配置器 全自动 WordPress 配置器,不用一行代码就可以开发。 支持自定义文章类型,自定义字段自定义分类,分类选项,全局选项。

1.1K30

使用内存缓存优化 WordPress 文章浏览统计效率

几乎所有文章浏览统计插件,比如 WPJAM Basic 「文章浏览统计」扩展,都是使用自定义字段来存储文章浏览数,如果服务器开启了 Memcached 内存缓存,自定义字段数据是怎么被缓存呢?...WordPress 默认自定义字段缓存方式 WordPress 会以 $post_id 作为 cache_key,'post_meta' 作为 cache_group 整体进行缓存。...所以更新某个自定义字段,相当于该 $post_id 下所有自定义字段缓存都一起更新。...而每次文章浏览,这个自定义字段数据都会加 1,这样,每次自定义字段缓存都会更新,然后就会造成每个页面会多出三个 SQL 查询。 有没有办法解决这个问题呢?...使用内存缓存优化文章浏览统计效率 我们可以把文章浏览统计先缓存到内存,每次增加10次浏览才写入数据库中去,这样就可以极大地降低 WordPress 操作因为自定义字段变更而造成 SQL 查询次数。

30420

迁移 valine 评论数据至 wordpress 数据库

利用正则表达式将评论数据那些不需要数据一一项剔除掉,下方存档参考。注意:必须将 ACL 及 insertedAt 两个数据删掉,否则可能影响后续数据转换操作!...此处可无视 key 选项,后面需要自定义 comment_ID 为主键 完成 json 到 sql 到转换后,将转换后 sql 文件下载到本地,根据 wp 数据库自带 wp_comments 数据表结构进行进一步编辑...确保非 null 字段不存在 null !...> 首先将 wordpress 数据库 wp_comments 数据表新增字段后导出 sql 文件。...key,导入数据首行必须包含所有所需字段(包括””空),否则导入后将缺失该字段 value ) 执行下方 sql 语句通过对比 pid 与 objectId 将 comment_parent_ID

10400

针对WordPress攻击调查

成功登录后,攻击者可具有管理员权限,并进行如下操作: 安装带有后门自定义主题 安装插件以上传文件 这两个操作通常在成功获得管理员权限后使用,可以选择更改管理员密码或创建新管理员帐户。...常见方法是使用公共主题并嵌入带有远程代码执行(RCE)功能自定义后门,文件上传插件允许攻击者直接上传有效负载。 利用一个后门部署另一个具有类似功能后门是常见操作。...受感染WordPress还可以充当广告重定向程序,通过修改JavaScript文件或页眉/页脚生成器函数(例如wp content\theme s\twenty17\functions.php)。...修改后JavaScript将用户重定向到攻击者指定网站。 ?...感染WordPress网站搜索引擎优化(SEO) 受感染WordPress站点另一个实例是搜索引擎优化(SEO),已发现部署PHP脚本在GET请求接受关键字。 ?

2.1K20

Wordpress邮件通知插件Notification使用小记

Notification是wordpress上一款功能强劲插件,可以实现wordpress各种事件邮件通知功能,更可以根据自己实际需求定制自己邮件通知内容,插件提供了很多短代码,能够很方便协助用户完成邮件模板创建...在这里,简单记下几种常见通知可以使用段代码,方便以后使用。 【发布新文章通知(New Post Published)】 网站简码 这些短代码可用于任何通知。...WordPress帐户用户,即它们不适用于使用“ 发送到任意电子邮件”手动添加电子邮件地址 - 在。...:[email_user_custom_field field =“ X“] (仅限自定义字段附加组件 管理WP管理员配置文件BNFW通知订阅:[user_subscription_page](...post_password] 帖子名称:[post_name] 要Ping:[to_ping] Pinged :[pinged] Post Modified:[post_modified] 修改后

2.1K20

Display Posts : 按条件显示WordPress文章最强插件

比如 jQuery 和 Bootstrap 在 WordPress 添加进度条 这里介绍用法 也可以通过在主题文件中使用函数do_shortcode() 。...Code Embed:在WordPress文章和页面添加Javascript最佳插件 2019年WordPress流行趋势预测 8个用于设计漂亮表格WordPress插件 WordPress 精品插件大全页面的开发小记...对结果进行排序 ---- 2019年WordPress流行趋势预测 8个用于设计漂亮表格WordPress插件 Code Embed:在WordPress文章和页面添加Javascript最佳插件...SPA ---- 排序字段和方法多种多样, 可以参看这里。...还可以综合使用目录和tag两种分类发和其他操作符来进行复杂查询,详见这里 自定义显示形式 这也属于高级用法之一了,默认是使用Html无序列表ul,你可以通过参数 wrapper="ol" 来改成有序列表

3.5K10

WordPress自定义查询WP_Query使用方法大全

自定义调用文章在网站建设很常用,wordpress也很人性化,新建查询new WP_Query就能实现相关功能。WP_Query怎么呢?...' => 10, //(整数) - 每页显示文章数量 (2.1和以后版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源WordPress 'posts_per_rss...通常在页面中使用 (编辑页面时有一个页面序号字段) 和附件 ( 插入 / 上传媒体相册对话框数字), 但是不能对文章类型 'menu_order' 使用数字 (默认都为 0)....) - 自定义字段键 'meta_value' => 'value', //(字符串) - 自定义字段 'meta_value_num' => 10, //(数字) - 自定义字段 'meta_compare...'value' => 'blue', //(字符串/数组) - 自定义字段 (注意:数组支持仅限于一个比较: 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN

4K41

WordPress 自定义字段(Custom Fields)详细介绍和使用

WordPress 自定义字段通常有两个变量:键 ( key ) 和 ( value )。...当我们为某篇日志或者页面创建一个自定义字段时候,我们所写信息将会存储到该日志或者页面。...然后在撰写日志时候,在自定义字段那里名称输入 mood,输入 Sad,Mad,Happy 一个,上面最后代码如下: <img decoding="async" src="https://cdn.wpjam.com...,然后可以通过把 $single 这个参数值从 true 改成 false 来返回该<em>自定义</em><em>字段</em><em>的</em>所有<em>值</em><em>的</em>数组: <?...对象缓存<em>中</em>,统计每增加 10 次之后才写入数据库<em>中</em>,这样大大减少数据库<em>的</em>请求,加快 <em>WordPress</em> <em>的</em>效率。

2.9K20

展示 Postlight WordPress + React Starter Kit

商业案例:为什么选择 Headless WordPress? 在我们与不同客户合作,我们看到了一些情况、业务原因和项目先决条件,这些情况使带有响应前端 WordPress 后端成为好兆头。...你网站或应用程序需要与一些 API 进行对话,你 WordPress 内容只是其中之一,而使用 JavaScript 前端来做到这一点更简单。...我们与需要完全摆脱 WordPress 以从他们堆栈取出 PHP 和 MySQL 客户合作过,这是 Headless WordPress 无法解决一个问题。...你必须设置自定义帖子类型和自定义字段(Progressed Custom Fields Master 和自定义帖子类型 UI) WordPress 模块。...WordPress 模块在 WP REST 编程接口(ACF 到 WP 编程接口和 WP-REST 编程接口 V2 菜单)中发现那些自定义字段WordPress 菜单。

1.1K31

WordPress自定义查询:WP_Query使用

' => 10, //(整数) - 每页显示文章数量 (2.1和以后版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源WordPress 'posts_per_rss...通常在页面中使用 (编辑页面时有一个页面序号字段) 和附件 ( 插入 / 上传媒体相册对话框数字), 但是不能对文章类型 'menu_order' 使用数字 (默认都为 0)....) - 自定义字段键 'meta_value' => 'value', //(字符串) - 自定义字段 'meta_value_num' => 10, //(数字) - 自定义字段 'meta_compare...'meta_query' => array( //(数组) - 自定义字段参数 (3.1和以后版本可用). array( 'key' => 'color', //(字符串) - 自定义字段键...'value' => 'blue', //(字符串/数组) - 自定义字段 (注意:数组支持仅限于一个比较: 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN

1.4K20
领券