在 WooCommerce 中添加隐藏结帐字段?

2024-02-20

我想包含一个指向通过 WooCommerce 提交结帐表单的当前用户的个人资料的链接。

也就是说,自动将当前用户的作者链接放置在隐藏字段中,如下所示:example.com/author/username

我想通过在结帐表单中添加隐藏字段来实现此目的。因此,为了获得链接,我会写这样的内容:

<?php

$currentUser = get_current_user_id();

$user = get_user_by( 'id', $currentUser );

$userUrl = get_bloginfo( 'home' ) . '/author/' . $user->user_login;

echo $userUrl;
?>

我的问题是如何在结账表单中创建这种类型的隐藏字段?


挂钩自定义函数woocommerce_after_order_notes动作钩子,您还可以直接输出一个隐藏字段,以该用户“作者链接”作为隐藏值,当客户下订单时,该隐藏字段将与所有结帐字段同时提交。

这是该代码:

add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_hidden_field', 10, 1 );
function my_custom_checkout_hidden_field( $checkout ) {

    // Get an instance of the current user object
    $user = wp_get_current_user();

    // The user link
    $user_link = home_url( '/author/' . $user->user_login );

    // Output the hidden link
    echo '<div id="user_link_hidden_checkout_field">
            <input type="hidden" class="input-hidden" name="user_link" id="user_link" value="' . $user_link . '">
    </div>';
}

然后您需要将这个隐藏字段保存在订单中,如下所示:

add_action( 'woocommerce_checkout_update_order_meta', 'save_custom_checkout_hidden_field', 10, 1 );
function save_custom_checkout_hidden_field( $order_id ) {

    if ( ! empty( $_POST['user_link'] ) )
        update_post_meta( $order_id, '_user_link', sanitize_text_field( $_POST['user_link'] ) );

}

代码位于活动子主题(或主题)的 function.php 文件中或任何插件文件中。

代码已经过测试并且可以工作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WooCommerce 中添加隐藏结帐字段? 的相关文章

  • 准备好的语句需要 0 个参数,给定 1 个参数..,使用 php 手册示例 [重复]

    这个问题在这里已经有答案了 我直接从 php 手册示例中获取了这个 它几乎与我需要的相同 但我仍然收到此错误 有人可以告诉我我错过了什么吗 stmt link gt prepare SELECT obitBody Photo FROM tn
  • PHP 用星号替换所有字符

    假设我有一个字符串形式的密码 password thisisaplaintextpassword 我怎样才能把它变成下面的样子 password 我想通过电子邮件向用户发送他们的帐户详细信息 但不想发送整个内容 Use 字符串重复 http
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • 覆盖供应商自动加载编辑器

    有没有办法让您创建的自动加载文件在调用供应商自动加载之前运行 我们似乎遇到了 SimpleSAML 的自动加载覆盖我们创建的自动加载文件之一的问题 我是 Composer 的新手 似乎无法在网上找到任何解决方案 我尝试将我们的自动加载文件包
  • 具有动态表单名称的 form_widget

    在我的 Twig 模板中 我有一个 FOR 循环 它创建多个表单 如下所示 for thing in things set form id myform thing Id set form name attribute form myfor
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • php 如何统计文件夹中的文件数量?

    我想让用户能够在自己的文件夹中上传一些文件 图片 但只有当该文件夹包含的图片少于五张时才可能 如果已经有 5 张图片 脚本必须让用户知道他 她的文件夹已满 所以 我想知道php中是否有函数可以计算文件夹中的文件数量 或者 php 中有其他方
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • 如何以编程方式获取 WooCommerce 中的所有产品?

    我想获取 WooCommerce 中的所有产品数据 产品 sku 名称 价格 库存数量 可用性等 我可以使用 wp query 来做到这一点吗 这样你就可以通过 wp query 获取所有产品 global wpdb all product
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 未捕获的异常“Google_IO_Exception”,消息为“HTTP 错误:无法连接”

    我有一个任务 查询 运行一些从 gmail 邮箱检索数据的 php 代码 直到上周五 2015 年 4 月 10 日 它一直工作正常 现在我收到以下错误日志 E 11 58 26 094 2015 04 15 200 3 38 KB 14
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 如何在html中制作多行类型的文本框?

  • php 表单提交 - Q2

    我对这个虚拟问题感到抱歉 这是我的简单 PHP 表单 其中包含两个 SQL 表和 ADD 提交 按钮 我希望将人员从 Test1 转移到 Test2 很多事情都很好 只有提交按钮不起作用 因此 Test2 表没有反馈 Revised 现在提
  • PHP文件上传

    如果我想在文件名转到服务器的永久位置 而不是临时位置 之前更改文件名 我该如何执行此操作 代码如下
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri

随机推荐

  • React-router (v4) 如何返回?

    试图弄清楚如何返回上一页 我在用 react router v4 1 这是我在第一个登陆页面中配置的代码
  • 使用 HTTP Live Streaming 替代音轨

    当 HLS 流准备好播放时 我正在生成可用音轨的列表 我可以很好地访问可用的音轨 但我很难为每个轨道提取正确的 标题 我在用着苹果的测试流 https devimages apple com edgekey net streaming ex
  • 在 PageViewController 中导航不起作用

    我有 3 种类型的 VC 第一种 VC 第二种 VC 是PageViewController有 3 页 我添加了PageController正常ViewController在这里 第三个是FinalViewController 第一个 VC
  • 多个动态输入文本javascript

    我在使用 javascript 创建多个输入文本时遇到问题 我的观点是每次之前的输入完成后都会创建一个新的输入文本 家长 我有一些组合框的代码 但这次我只需要输入文本框 我怎样才能做到这一点 我找到了这段代码
  • WSAEWOULDBLOCK 处理

    我已经在使用winsock 的C CLI 中为服务器编写了一个套接字 套接字使用异步方法来发送 接收和接受连接 在生产环境中实现套接字后 发送函数停止工作 并给出错误 WSAEWOULDBLOCK 根据我在网上的研究 这意味着套接字 IO
  • NavigationLink 在 ScrollView 中显示错误

    我在Swift编程的时候也遇到过这个问题 我创建了这个长框架 就在这里 该框架的主要思想将用于不同视图中的水平滚动视图 如下所示 它将打开不同的视图 这就是问题所在 如果我们想转换到不同的视图 我们需要NavigationLink 为了工作
  • linux c语言中如何将绝对路径转换为相对路径

    我想知道如何在linux Ubuntu 操作系统上的c语言中根据给定目录 包括链接文件 将符号链接的绝对路径转换为相对路径 我想搜索相对路径的子字符串 但如果它已经存在于文件夹层次结构的更高位置怎么办 这是我想要做的更具体的描述 相对路径
  • Java 中的“代码太大”编译错误

    Java 代码有最大长度限制吗 我写了一个超过10000行的函数 实际上 每一行都为一个数组变量分配一个值 arts bag 10792 newyorkartworld arts bag 10793 leningradschool arts
  • 如何将 Javascript 文件导入 Typescript

    我想知道如何从 Typescript 启动 Twitter Bootstrap carousel carousel 我必须实施jquery d ts修复 sign 调用 但我仍然收到错误 carousel 在 jquery d ts 中找不
  • 为什么“async/await”在我的情况下不起作用?

    我读到async await 但我有一个关键问题 首先 我解释一个旧的例子来展示我的问题的基础 然后我问我的确切问题 大家都知道 console log 1 console log 2 console log 3 Ex 123 这很简单 但
  • 在IIS7上启用跨域资源共享

    我最近遇到向另一个域发布 Javascript 请求的情况 默认情况下 不允许 XHR 发布到其他域 按照以下指示http enable cors org http enable cors org 我在其他域上启用了此功能
  • 如何在 VS Code 中调试时关闭警告?

    我正在使用 XDebug 在 VS Code 中调试 PHP 应用程序PHP Debug扩展名 并收到如下错误 我知道问题是什么以及如何解决它 但解决方案是如此巨大 以至于修复此类错误是我目前无法做到的 我想开始使用 VS Code 进行
  • AutoTokenizer.from_pretrained 无法加载本地保存的预训练分词器 (PyTorch)

    我是 PyTorch 的新手 最近我一直在尝试使用 Transformers 我正在使用 HuggingFace 提供的预训练分词器 我成功下载并运行它们 但如果我尝试保存它们并再次加载 则会发生一些错误 如果我使用AutoTokenize
  • Heroku/Django 部署:为什么我在成功部署和静态收集时收到错误 500?

    几个月来 我一直在努力在 Heroku 上部署我的第一个 Django 站点 我正在成功构建git push heroku master并使用成功收集静态文件heroku run python manage py collectstatic
  • 如何使 gremlin_python DriverRemoteConnection 对每次提交都有超时和重试限制?

    免责声明 我们目前正在使用gremlinpython 3 4 8我相信最近的版本中已经解决了其中一些问题 但我不确定 一般来说 这似乎是一个非常活跃的存储库 在过去两个最新版本日志 当前为 3 4 10 中进行了一些相关更改 很高兴根据需要
  • 使用 VB 6.0 解析远程 URL 处的 xml 文档

    我正在尝试使用 Visual Basic 6 0 解析驻留在远程服务器上的 xml 文件的内容MSXML2 DOMDocument class 我正在使用Load的方法MSXML2 DOMDocument类来传递 url url 的形式为h
  • 在 gdb 中查看 ASCII 寄存器内容

    假设 我现在处于这个位置 我想以ascii格式查看cl ch cx ecx等的内容 该怎么办 下面是子程序中显示的内容layout asm命令 RemCharCodeFromAToB standard entry sequence push
  • 可以对图像图标进行分层吗?

    我想知道是否可以在 Java 中对图像图标进行分层 我将使用 GIF 图像 并且将有一个图像图标网格代表我的 JPane 的 背景 当特定条件成立时 我需要能够在其他图像之上添加具有透明度的图像 问候 杰克 亨特 是的 这是可能的 有两种正
  • 使用 JavaScript 构建 XLSX 文件

    我正在尝试使用 JavaScript 和一些数据库查询结果构建 XLSX 文件 我必须使用 JavaScript 因为服务器后端仅提供 JavaScript 接口来使用 并且它不喜欢 jQuery 现在 我似乎已经发现了一些东西来实际创建要
  • 在 WooCommerce 中添加隐藏结帐字段?

    我想包含一个指向通过 WooCommerce 提交结帐表单的当前用户的个人资料的链接 也就是说 自动将当前用户的作者链接放置在隐藏字段中 如下所示 example com author username 我想通过在结帐表单中添加隐藏字段来实