自定义字段未保存

2024-03-20

我尝试使用 WPGraphQL 向用户添加自定义用户字段。因此我尝试重新创建官方 WPGraphQL 文档中的示例https://docs.wpgraphql.com/extending/fields/#register-fields-to-the-schema https://docs.wpgraphql.com/extending/fields/#register-fields-to-the-schema :

add_action('graphql_init', function () {
  $hobbies = [
    'type'        => ['list_of' => 'String'],
    'description' => __('Custom field for user mutations', 'your-textdomain'),
    'resolve'     => function ($user) {
      $hobbies = get_user_meta($user->userId, 'hobbies', true);
      return !empty($hobbies) ? $hobbies : [];
    },
  ];

  register_graphql_field('User', 'hobbies', $hobbies);
  register_graphql_field('CreateUserInput', 'hobbies', $hobbies);
  register_graphql_field('UpdateUserInput', 'hobbies', $hobbies);
});

我已经更改了类型\WPGraphQL\Types::list_of( \WPGraphQL\Types::string() ) to ['list_of' => 'String'].

如果我现在执行 updateUser 突变,我的爱好不会更新。我到底做错了什么?

突变:

mutation MyMutation {
  __typename
  updateUser(input: {clientMutationId: "tempId", id: "dXNlcjox", hobbies: ["football", "gaming"]}) {
    clientMutationId
    user {
      hobbies
    }
  }
}

Output:

{
  "data": {
    "__typename": "RootMutation",
    "updateUser": {
      "clientMutationId": "tempId",
      "user": {
        "hobbies": []
      }
    }
  }
}

谢谢xadm https://stackoverflow.com/users/6124657/xadm,我唯一忘记的是真正改变领域。我对文档有点困惑,这是我的错。 (顺便说一句,我真的是 WPGraphQL 新手)

以下是需要添加的内容:

add_action('graphql_user_object_mutation_update_additional_data', 'graphql_register_user_mutation', 10, 5);

function graphql_register_user_mutation($user_id, $input, $mutation_name, $context, $info)
{
  if (isset($input['hobbies'])) {
    // Consider other sanitization if necessary and validation such as which
    // user role/capability should be able to insert this value, etc.
    update_user_meta($user_id, 'hobbies', $input['hobbies']);
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义字段未保存 的相关文章

  • 限制用户角色仅更改 Woocommerce 中的某些订单状态 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想限制按角色访问 woocommerce 下拉列表中的某些订单状态 我已经在functions php子主题中尝试过代码按角色限制
  • style.css 在 WordPress 中不起作用

    我的 WordPress 有问题 我已经创建了所有需要的文件 包括 style css index php 等 但页面没有样式 在标题中 除其他外 我把这个
  • 使用反向代理进行过多重定向

    Setup 云flare DNS docker 撰写 nginx 反向代理 WordPress 的 fpm Nginx PHP 处理程序 Problem 重定向太多 如以下日志所示 Attaching to wp db wp wp web
  • Jekyll 可以根据 URL 参数提供内容吗?

    我正在将博客从 WordPress 迁移到 GitHub 页面 在我的网站日志中 我注意到有很多这样的请求 GET wp feed atom 此 301 重定向到该站点的 ATOM 提要 我本来打算用httrack抓取我的网站并迁移所有静态
  • 如何在 WooCommerce 中添加属性术语图像?

    在 WooCommerce 中 我创建了一个属性 品牌 并添加了一些术语 例如 品牌一 品牌二 等 我想为每个术语添加图像 目前没有在属性项中添加图像的选项 请告诉我如何在属性项中添加图像 管理链接是这样的 wp admin edit ta
  • WordPress 标头位置重定向

    WordPress 遇到问题 我想将页面重定向到文件夹 php adminpage php 内的特定 php 文件 SESSION变量等于 1 假设会话变量为 1 但浏览器返回 Not Found 有什么办法让它发挥作用吗 更新 已解决 使
  • Graphql - 获取完整的子对象,如果不存在则返回 null

    我有一个 graphql 查询 它得到一个Meeting对象与Client object type Meeting address String client Client type Client displayName String Th
  • 限制 WooCommerce 上的域名注册

    如何限制用户电子邮件对 WooCommerce 注册中特定域的访问 我发现这段代码可以做到这一点 但由于某种原因它在 WooCommerce 注册表单上不起作用 如果我进入 WP 登录页面 它就会起作用 任何帮助表示赞赏 function
  • WordPress 按标题获取帖子,例如

    我正在尝试为 WordPress 创建一个小型搜索功能 AJAX 调用应该获取标题类似的所有帖子 quote 是否有可能在内部实现这种情况get posts 功能 别误会我的意思 阿贾克斯工作正常 我的functions php 中有aja
  • 如何向 WordPress.com 上托管的 WordPress 博客添加语法突出显示?

    我希望为我的 WordPress 博客提供一个好的语法荧光笔 我有哪些选择 我经常看到它具有颜色鲜艳的语法突出显示和复制到剪贴板的选项 有谁知道这是什么工具吗 在 wordpress com 上 您无法安装插件 因此您必须使用 Wordpr
  • 使用 Wordpress 验证 Flask API

    我有两个网站 一个托管大部分内容的 WordPress 博客 我还用 Flask 编写了一个 API 我想在 Wordpress 受密码保护的页面 中使用 API 但我需要在 Flask 响应之前验证请求是否经过身份验证 当我收到对 Fla
  • 如果在 Woocommerce 中应用了任何优惠券代码,请删除一些支付网关

    我开始从事小型 Woocommerce 项目 我有 3 个支付网关进入这家商店 Paypal 信用卡和直接银行转账 我想要的是 如果使用优惠券代码 我想从可用的支付网关中禁用 或删除 Paypal 和信用卡 并仅保留 直接银行转账 作为可用
  • jQuery 更改为隐藏字段后触发重力表单中的表单更新

    简而言之 是否有 JavaScript 函数或挂钩来触发重力形式的更新 以便执行条件逻辑 原问题 我正在使用重力形式 并且创建了一个 变化时 事件 gform 1 find gfield date dropdown month select
  • 动态 GraphQL 模式?

    我有一个突变 将提交表单数据 该数据可能会根据您填写的表单而有所不同 表单将会很多 并且它们将共享相同的 步骤 每个表单由 1 个或多个页面 步骤组成 因此 我们可能有这些可重用的步骤 最喜欢的水果 出生日期 名和姓 还有这两种形式 通用信
  • docker-compose mysql 容器拒绝访问 wordpress 容器

    我遇到 mysql 5 7 容器拒绝访问 wordpress 容器的问题 我正在使用 docker compose 并且在 Mac OSX 上运行 docker Docker 应该是可用的最新版本 这是我的 docker compose y
  • 订单编辑页面中的 WooCommerce 自定义字段

    Display custom field Orders edit page add action woocommerce before order itemmeta storage location of order items 10 3
  • WordPress WooCommerce - 使用 WC_Cart 类将可变产品添加到购物车

    我正在尝试将可变产品添加到 WordPress 插件 WooCommerce 的购物车中 到目前为止 我已经能够添加单一 简单的产品 woocommerce gt cart gt add to cart product id quantit
  • 多文件上传字段的重力形式预览缩略图

    我们使用重力形式将多个图像附加到图库自定义字段并创建新帖子 我们不知道如何在 HTML5 导入字段下显示图像缩略图 而不仅仅是在提交表单之前显示文件名 之前的答案仅涵盖单个文件上传 图片上传重力形式预览 https stackoverflo
  • type-graphql:如何知道Resolver返回了哪些字段

    我正在编写一个使用 type graphql 的后端应用程序 GraphQL 架构包括Folder键入如下所示 type Folder id ID name String rules Rule parent Group Rule and G
  • 在Wordpress中通过API创建新用户时如何发送电子邮件密码?

    可以使用以下行通过 API 创建新用户 user id wp insert user user data 我想知道如何向新创建的用户发送包含其密码的电子邮件 Wordpress API 中是否有任何函数可以处理这项工作 还是我应该自己创建并

随机推荐