WooCommerce 根据产品类别替换购物车/结帐中的“延期交货可用”

2023-12-06

我编写了一些代码,用于在基于产品类别的产品详细信息页面上显示自定义缺货消息。

function custom_backorder_message( $text, $product ){
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {

        if( has_term( 'bridal-line', 'product_cat' ) ) {
            $text = __( 'Your piece will be handcrafted for you. Upon order we will manufacture your piece of eternity. Sadly, we can not give you a timeline, due to Covid 19, but are expecting 5-7 weeks', 'text-domain' );
        }else {
            $text = __( 'This product is currently out of stock, but upon order we will handcraft your piece. Sadly, we can not give you a timeline, due to Covid 19, but are expecting 6-8 week.', 'text-domain' );
        }
    }
    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'custom_backorder_message', 10, 2 );

现在,购物车页面上会显示“缺货可用”。我怎样才能在那里显示正确的延期交货消息?

任何帮助表示赞赏!


Use: woocommerce_cart_item_backorder_notification

请注意第三个参数($product_id) 指定为has_term, 这是因为默认使用当前帖子(ID)。但是,如果购物车中有多个商品,则有多个ID……

// Change backorder notification - Single product page
function custom_availability_text( $text, $product ) {
    // Returns whether or not the product is stock managed.
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        // Check if the current post has any of given terms.
        if( has_term( 'bridal-line', 'product_cat' ) ) {
            $text = __( 'My first text', 'woocommerce' );
        } else {
            $text = __( 'My second text', 'woocommerce' );
        }
    }
    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'custom_availability_text', 10, 2 );

// Change backorder notification - Shop page
function custom_cart_item_backorder_notification( $html, $product_id ){
    // Check if the current post has any of given terms.
    if ( has_term( 'bridal-line', 'product_cat', $product_id ) ) {
        $html = '<p class="backorder_notification">' . esc_html__( 'My first text', 'woocommerce' ) . '</p>';
    } else {
        $html = '<p class="backorder_notification">' . esc_html__( 'My second text', 'woocommerce' ) . '</p>';
    }

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

WooCommerce 根据产品类别替换购物车/结帐中的“延期交货可用” 的相关文章

  • 带缓存的简约 PHP 模板引擎,但不带 Smarty?

    有大量的问题 https stackoverflow com search q php template engine cache寻找 正确的 PHP 模板引擎 但它们都不专注于缓存 有谁知道一个轻量级 高质量 基于 PHP 5 的模板引擎
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • 如何使用多个分隔符拆分列表?

    基本上 我想在文本区域中输入文本 然后使用它们 例如 variable1 variable2 variable3 variable1 variable2 variable3 variable1 variable2 variable3 我知道
  • File_get_contents($url): 无法打开流

    我有一个脚本 我使用以下方法读取文件 file get contents urlencode url 我收到此错误 failed to open stream HTTP request failed HTTP 1 0 400 Bad req
  • 如何在代码输出中显示 PHP 错误?

    当通过浏览器执行PHP页面时 我们只会得到输出 但不会得到代码中的错误 如何查看后端代码发生的错误 我在代码中使用以下内容进行错误报告 error reporting E ALL E ALL ini set display errors 1
  • Ajax 调用 contentType: 'application/json' 不起作用

    我有一个 ajax 调用 它将表单数据发送到 php 函数 因为我读了很多使用contentType application json 这是最佳实践 我也想尝试一下 但不幸的是 我的脚本在使用时没有返回任何内容 如果我删除它 脚本就会执行它
  • Shift+Enter 按钮用于提交表单

    我想使用 Shift Enter 按钮提交表单 而不是简单地按 Enter 按钮 请帮助我 如果您仍然想这样做 尽管这会带来可用性问题 form keydown function e if e keyCode 13 e shiftKey W
  • 将 bcrypt 密码哈希从 PHP 迁移到 Python - ValueError:无效的 hashed_pa​​ssword salt

    我有一个 PHP7 应用程序 它可以像这样对用户密码进行哈希处理 hash password hash password PASSWORD BCRYPT 例如 如果我通过test1234为此 我有 2y 10 aazE9OUKZlOQiM6
  • PHP foreach 数组与 stdClass 对象

    我需要帮助尝试获取数组和 stdClass 对象内的值 仅供参考 我正在使用 foursquare API 我有这样的事情 fsq groups venues gt response gt groups echo pre print r f
  • PHP 中的致命错误是什么意思?

    我收到以下错误 致命错误 未捕获错误 调用未定义的函数 var dumb 这是什么意思 致命错误是什么意思 这是一个导致脚本中止并立即退出的错误 致命错误之后的所有语句都不会被执行
  • PHP 邮件功能不发送任何消息[重复]

    这个问题在这里已经有答案了 我对问题所在感到困惑 在使用时没有收到任何电子邮件mailphp 函数 PHP HTML
  • 如何在使用 echo 时将字符串与函数调用连接起来?

    我想在我的 echo ed html 字符串中使用两个函数调用返回的值 li a href the permalink the title a li 以下工作正常 echo li a href echo the title echo a l
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • 使用 laravel 5 和 Auth 更新登录的用户帐户设置

    截至今天 我对 Laravel 实际上是任何 PHP 框架 还是个新手 但对 PHP 并不陌生 我创建了我的第一个项目并设法使用预构建的登录Auth系统 我创建了一个新的路线 控制器和模型 名为AccountSettings所以当我去 ac
  • 550 Bad HELO - 主机冒充域名 Laravel

    我正在尝试设置 Laravel 身份验证 包括 密码重置 功能 但当我尝试发送电子邮件时 我偶然发现了一个错误 我得到的错误是 Expected response code 250 but got code 550 with message
  • 如何复制具有 MySQL 中保留的键和其他结构特征的表?

    如何复制保留键和其他结构特征的表 包括主键 外键和索引 这可以通过单个 MySQL 查询来完成吗 我正在使用 create table newtable as select 但此方法会使所有键和索引丢失 无法使用单个查询来从另一个表复制一个
  • 什么会导致 PHP 变量被服务器重写?

    我的公司给了我一个虚拟机来安装网络软件 但我遇到了一个相当奇怪的问题 如果 PHP 变量与特定模式匹配 服务器就会覆盖 重写 它们 什么可以像这样重写 PHP 变量 以下是一个完整的独立脚本
  • WordPress ~ 如何在一页上显示多个 Google Chart?

    下面是我插入到 WordPress Visual Composer 中的原始 HTML 块中的一个 Google 图表的代码 图表 ID 名称为 chart div1 这适用于我的 WP 网页
  • JSON 编码和大引号

    我在 PHP 5 的本机实现中遇到了一个有趣的行为json encode 显然 当将对象序列化为 json 字符串时 编码器将清空包含 卷曲 引号的字符串的任何属性 这种类型可能会在启用自动转换的情况下从 MS Word 文档中复制粘贴 这
  • 如何通过引用文档查询嵌入文档?

    我正在使用 Doctrine ODM 但在通过引用文档查询嵌入文档时遇到问题 考虑以下文件

随机推荐

  • 删除工作表/图表事件 VBA

    我试图在删除工作表 Excel 时触发宏 自 2010 年以来 出现了不同的删除事件 应用程序级别 Application SheetBeforeDelete 事件 工作簿级别 Workbook SheetBeforeDelete 事件 工
  • 在Shiny R中,有没有办法在observeEvent之后立即运行observeEvent而没有延迟(renderUI的问题)?

    好吧 我的标题有点令人困惑 但让我解释一下 我正在使用 renderUI 来获取音频标签 但是 我想以较低的音量启动音频 因为它太大声了 下面的代码工作正常 除了因为我添加了延迟 它以较高的音量开始 然后迅速转到较低的音量 但它仍然非常明显
  • 世博会开发者菜单未显示

    我正在使用 expo 工具并进行原生反应 没有任何问题 但在我的模拟器上升级 Expo Go 应用程序后 出现了问题 开发者菜单不会像以前那样显示 并且菜单中的项目不会显示 我的expo go版本 2 25 1 我正在使用 Genymoti
  • 张量流成本函数是张量,而不是标量 - 为什么?优化失败

    以下代码可以运行 但不起作用 变量cost总是一个充满 1 0 的张量 但为什么呢 我估计了一个标量 因为 1x5 矩阵乘以 5x1 矩阵就是一个标量 优化时偏差和权重也不会改变 我究竟做错了什么 KI Model x tf placeho
  • luasocket的问题

    我试图从 lua 套接字读取一些 二进制 数据 但上面的代码不会终止重复循环 我如何知道流已到达末尾 client require socket client socket connect www google com 80 client
  • 将(自定义)解码器添加到 WebMVC 端点

    我有一个 WebMVC 端点 RequestMapping path execution id method RequestMethod POST public ResponseEntity lt gt execute PathVariab
  • Android socket.io 在不丢失连接的情况下切换活动

    我开发了一个游戏 它将使用socket io连接 我的服务器是用node js编写的 我的android客户端使用socket io 现在 我的问题是 我如何在不失去与服务器连接的情况下切换活动 我至少有 4 个活动 聊天 游戏视图 在线玩
  • Cordova ios 上的 Ajax 调用 SecurityError: DOM Exception 18

    您好 我正在通过 Cordova 5 1 1 Phonegap 构建 iOS 应用程序 但有一个无法解决的问题 A basic Ajax调用抛出一个SecurityError DOM Exception 18我尝试了有关白名单的所有技巧 但
  • MySQL:如何对 ORDER BY 子句使用 CASE

    我有一个存储过程 必须在根据输入过滤行后返回一个表 其中两个输入是sort column and sort dir 查询必须 ORDER BYsort column in the sort dir方向 ASC 或 DESC 我尝试过以下查询
  • 在 Mac 上的 SwiftUI 中处理“打开方式”中的多个 URL

    在 SwiftUI 中 我们被赋予了onOpenURL 执行 功能 但是 在 macOS 中 我们可以在 Finder 中选择多个文件 然后单击 打开方式 如果我使用带有以下代码的应用程序打开这些文件 main struct testURL
  • 康威的生命游戏更新(下一代)

    我正在研究 Conway 的生命游戏 java 代码 并且我正在与我的更新方法 也称为下一代创建者 作斗争 我将发布我迄今为止编写的代码 请让我知道我可以做什么来修复更新方法 如果在 T 时刻没有细胞 就会诞生一个细胞 1 并且它的三个邻居
  • EnableRaisingEvents 是否可以在应用程序启动时已在运行的进程上使用?

    目前我有一个程序启动另一个应用程序并监视该应用程序以使用以下代码保持其运行 System Diagnostics Process startProgram System Diagnostics Process Start program e
  • C++:在构造函数中初始化变量的位置[重复]

    这个问题在这里已经有答案了 可能的重复 C 初始化列表 选项 1 与选项 2 初始化变量的优缺点是什么 class MyClass public MyClass float f char a private float mFloat cha
  • SQL Server:合并性能

    我有一个包含 500 万行的数据库表 聚集索引是自增标识列 还有PK是生成256字节的代码VARCHAR这是 URL 的 SHA256 哈希值 这是表上的非聚集索引 表格如下 CREATE TABLE dbo store image ima
  • 方法始终从 Firestore DB 查询返回 false

    我有一种方法可以检查列表是否包含用户 由于某种原因它总是返回 false 即使用户位于列表中 该函数确实有效 我知道它确实找到了用户 只是不确定为什么它不返回任何其他内容 但false 我知道它有效 因为我有另一种方法使用此代码片段来检查用
  • 展开一项时折叠所有其他 Recyclerview 项目

    我有一个设置良好的可扩展回收器视图 单击任何项 目时 它会展开以显示更多详细信息 但我想在这里改变一下 单击一项展开时 所有其他项都应折叠 这是我的适配器代码 public class DataAdapter extends Recycle
  • 403 - 授权错误 - OAuth2.0 - 访问令牌 - Azure Api For Fhir

    我已使用此链接部署并配置了适用于 FHIR 的 Azure API https learn microsoft com en gb azure healthcare apis tutorial web app fhir server 使用邮
  • 方程有不同数量的参数

    我创建了这些数据类型来代表吉他标签 我正在尝试编写show功能将它们打印为真正的吉他谱 data这不是我的专长 我在匹配类型时遇到了困难 错误是 show 的方程有不同数量的参数 在 GHC Show Show Tabs Chord 的实例
  • MySQL解释行数限制

    下面是我的查询 用于获取类型 ID 为 1 的 20 行 EXPLAIN SELECT FROM content WHERE genre id 1 AND category 1 LIMIT 20 我在内容表中总共有 654 行 类型 id
  • WooCommerce 根据产品类别替换购物车/结帐中的“延期交货可用”

    我编写了一些代码 用于在基于产品类别的产品详细信息页面上显示自定义缺货消息 function custom backorder message text product if product gt managing stock produc