WooCommerce 3.0+ 更改管理订单日期列格式

2023-12-29

在 WooCommerce 中,我使用下面的代码来更改订单日期列的管理订单视图格式:

// Woocommerce show time on order
add_filter('post_date_column_time', 'custom_post_date_column_time', 10, 2);
function custom_post_date_column_time($h_time, $post)
{
    return get_the_time(__('Y/m/d g:i:s A', 'woocommerce'), $post);
}

自 WooCommerce 3.0+ 起,它就停止工作了。

有任何想法吗?

Thanks


在WC核心代码中class-wc-admin-post-types.php如果你看render_shop_order_columns()功能,自 WooCommerce 版本 3.0+ 以来,情况发生了变化,因为它使用WC_Abstract_Order get_date_created() https://docs.woocommerce.com/wc-apidocs/source-class-WC_Abstract_Order.html#254-262方法而不是 WordPress 函数get_the_time() https://codex.wordpress.org/Function_Reference/get_the_time.

这就是为什么您使用的挂钩不再起作用的原因。

以下是 WooCommerce 3.0+ 版本中源代码的摘录:

case 'order_date' :
    printf( '<time datetime="%s">%s</time>', esc_attr( $the_order->get_date_created()->date( 'c' ) ), esc_html( $the_order->get_date_created()->date_i18n( __( 'Y-m-d', 'woocommerce' ) ) ) );
break;

这里是 WooCommerce 版本 2.6.x 中的相同源代码摘录:

case 'order_date' :

    if ( '0000-00-00 00:00:00' == $post->post_date ) {
        $t_time = $h_time = __( 'Unpublished', 'woocommerce' );
    } else {
        $t_time = get_the_time( __( 'Y/m/d g:i:s A', 'woocommerce' ), $post );
        $h_time = get_the_time( __( 'Y/m/d', 'woocommerce' ), $post );
    }

    echo '<abbr title="' . esc_attr( $t_time ) . '">' . esc_html( apply_filters( 'post_date_column_time', $h_time, $post ) ) . '</abbr>';

break;

现在如果你查看源代码get_date_created() https://docs.woocommerce.com/wc-apidocs/source-class-WC_Abstract_Order.html#254-262它正在使用新的WC_Data获取方法get_prop()。在源代码中get_prop() https://docs.woocommerce.com/wc-apidocs/source-class-WC_Data.html#600-623您可以探索这个新的过滤器挂钩可能性:

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

WooCommerce 3.0+ 更改管理订单日期列格式 的相关文章

  • mysql 数据库更新和 codeigniter 行受影响的功能[重复]

    这个问题在这里已经有答案了 我在更新查询后使用此功能此 codeigniter 功能 this gt db gt affected rows 如果我更新值 它会返回受影响的行数 但如果我更新与之前相同的值 它会返回 0 受影响的行 任何帮助
  • 在 IF 语句内部创建的变量是否也可以在 IF 语句外部使用?

    如果你有这样的 if 语句 您是否能够在 if 语句之外访问 c 变量 如下所示 In PHP if没有自己的范围 所以是的 如果你在里面定义了一些东西if语句或块内 那么它将可用 就像您在外部定义它一样 当然 假设块内或块内的代码if语句
  • Symfony2 / Twig:生成备用绝对 URL 路径以与 CDN 一起使用?

    This 堆栈溢出解决方案 https stackoverflow com questions 7358470 twig asset with cdn using symfony 2几乎回答了我的问题 但我想生成 CDN urlTwig不仅
  • 动态创建的数据源未传递到 CakePHP 中的关联模型

    我有一个模型 汽车 该汽车有几个关联的模型 让我们考虑其中一个与hasMany关系 轮 在我的 CarsController 中 我使用以下代码动态生成数据源 schemaName this gt Session gt read User
  • 回退到正则表达式中字符串的开头

    是否可以让正则表达式退回到字符串的开头并再次开始匹配 这就是我问的原因 给定下面的字符串 我想捕获子字符串black red blue and green按照该顺序 无论主题字符串中出现的顺序如何 并且仅当所有子字符串都存在于主题字符串中时
  • 在 CGridView 中显示另一个模型的属性

    在 Yii 中 我正在做多模型 我的数据库是这样的 Group id name Member id group id firstname lastname membersince 在组控制器中 我想显示成员的属性 一切工作正常 但是当我使用
  • 在没有数据库的情况下运行 WordPress

    我一直在寻找一种将 WordPress 配置为仅使用文件系统数据库运行的方法 有点像 Java 中或内存中的 H2 任何人 仅用于演示目的 不可能 Wordpress 的要求之一是 MySQL http wordpress org abou
  • HTML/PHP 中的 POST 和 GET 有什么区别[重复]

    这个问题在这里已经有答案了 我正在编写一个 PHP 脚本 但我似乎无法真正让它工作 我正在测试基础知识 但我不太明白 GET 和 POST 意味着什么 有什么区别 我在网上看到的所有定义对我来说没有多大意义 到目前为止我编写的代码 但由于我
  • 发送带有附件的 PHP HTML 邮件

    我遇到了一个问题 直到今天 我使用 PHP 发送 HTML 电子邮件 其中包含的标头 Content type text html 现在 我添加了添加附件的功能 为此 我必须将此行更改为 Content Type multipart mix
  • REST API 响应中的校验和

    发送带有响应内容的校验和是个好主意吗 如果是这样 计算校验和的最常见方法是什么 Example HTTP 1 1 200 OK Date Thu 30 Jun 2011 21 32 20 GMT Server Apache Connecti
  • 最佳实践:在 PHP 中导入 mySQL 文件;分割查询

    我遇到了一种情况 我必须更新共享托管提供商上的网站 该网站有一个 CMS 使用 FTP 上传 CMS 文件非常简单 我还必须导入一个大的 相对于 PHP 脚本的范围 数据库文件 未压缩时大约 2 3 MB Mysql 已关闭 无法从外部访问
  • 随机字体颜色

    我需要用 2 或 3 种随机颜色为文本着色 我如何在 PHP 或 JavaScript 中执行此操作 color str pad sprintf x x x rand 0 255 rand 0 255 rand 0 255 6 rand 0
  • PHP crypt() Blowfish 函数不工作

    这是我第一次在 PHP 中使用 crypt 函数 我不明白为什么它不起作用 我的代码基于这篇文章 http www techrepublic com blog australia secure passwords with blowfish
  • 帮助我将以十六进制表示的长值转换回日期/时间

    我有一个日期值 据说它是 8 个字节 一个 long 又名 int64 值 并转换为十六进制 60f347d15798c901 我如何使用 PHP 将这个和类似的值转换为时间 日期 将其转换为十进制给我 96 243 71 209 87 1
  • 为什么我的 php 代码无法连接到远程 MySql 数据库?

    我正在尝试连接到远程 MySql 数据库 但收到以下错误消息 警告 mysqli connect HY000 2002 连接尝试失败 因为连接方在一段时间后没有正确响应 或者由于连接的主机未能响应而建立的连接失败 在 C myLocalDi
  • 在 PHP 扩展中,推荐从 std::string 返回值的方法

    我们有一个简单的 PHP 函数 其目的是调用 C 自由函数std string callLibrary std string 并返回其std string返回值 目前看起来是这样的 PHP FUNCTION call library cha
  • PHP 指针与引用

    在 PHP 中 使用指针有什么区别 例如 function foo var var 3 a 0 foo a 以及参考 function foo var var 3 a 0 foo a 它们都修改了原始变量的值 但是它们内部的表示方式不同吗
  • 致命错误:找不到类“App\PDO”

    当我尝试使用命名空间时出现此错误 I have namespace App 顶部 班级看起来像 class database function construct try this gt db new PDO lt here the err
  • 用php将数字转换为字母[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中将数字 1 2 3 转换为字符串 一 二 三 https stackoverflow com questions 2112571 converting a number 1 2 3 to
  • PHP MySQLi 多次插入

    我想知道准备好的语句是否与具有多个值的普通 mysql query 一样工作 INSERT INTO table a b VALUES a b c d VS sql db gt prepare INSERT INTO table a b V

随机推荐

  • 使用 gruntjs 组合并缩小所有 Bower 库

    有没有办法自动将所有 Bower 安装的库合并并缩小为 1 个文件 首先我尝试了最基本的方法 将所有 js所有子目录中的文件 uglify options compress true my target files vendor js bo
  • 如何禁用 libsvm (java) 中的控制台输出

    我正在使用 libsvmjava并且遇到了与描述类似的问题here https stackoverflow com questions 8302519 suppressing the output in libsvm python对于蟒蛇
  • 如何捕获java.sql.SQLIntegrityConstraintViolationException?

    我的应用程序使用 JPA JavaDB 当我尝试保留违反约束的对象时 我得到SQLIntegrityConstraintViolationException http docs oracle com javase 7 docs api ja
  • 为什么 Mongoose 不验证更新?

    我有这个代码 var ClientSchema new Schema name type String required true trim true var Client mongoose model Client ClientSchem
  • 导航控制器栏被切断

    如果通过选择隐藏状态栏status bar style hide during application launch我正在自定义导航栏 如下所示 UINavigationBar appearance setBackgroundImage U
  • 以日历日为单位分割间隔的持续时间

    我有以下数据集 显示一集的开始和结束 日期和时间 ep lt data frame start c 2009 07 13 23 45 00 2009 08 14 08 30 00 2009 09 16 15 30 00 end c 2009
  • “POSIX”是什么意思?

    什么是 POSIX 我已阅读维基百科文章 http en wikipedia org wiki POSIX每次遇到这个词我都会读它 事实是我从来没有真正理解它是什么 任何人都可以通过解释 POSIX 的需要 来向我解释一下吗 POSIX h
  • 尝试混合属于不同事务的对象

    pony orm core TransactionError An attempt to mix objects belonging to different transactions 我知道这个错误是描述性的 我只是不明白为什么会发生 我
  • HikariCP 连接过多

    我有一个Java Servlet 我想将连接池与jdbc 数据库 mysql 一起使用 所以这就是我正在做的 这个类是公共最终类DBConnector private static final HikariDataSource dataSo
  • 如何仅为一个 Razor 页面设置 `ValidationVisitor.MaxValidationDepth` = 1?

    我该如何改变ValidationVisitor MaxValidationDepth在本地为一个 Razor 页面阻止验证子对象 我不想在全球范围内改变它MvcOptions MaxValidationDepth就像文档中描述的那样 最大递
  • 如何在默认 Spring Data JPA 方法上添加 QueryHints?

    我可以将查询缓存与 Spring Data JPA 一起用于我的自定义查询方法 如下所示 public interface CountryRepository extends JpaRepository
  • Spring Singleton 范围与应用程序范围

    单例和应用程序弹簧范围有什么区别 我知道单例作用域为每个应用程序创建一个实例 并且应用程序作用域以相同的方式工作 那么主要区别是什么 我需要一个例子来展示其中的区别 要了解应用程序范围和单例范围之间的区别 您需要了解 ServletCont
  • Spring - 在浏览器中显示 PDF 文件而不是下载

    我正在尝试使用 spring 在浏览器中显示 pdf 我的问题是浏览器下载文件而不是显示它 这是我的代码 RequestMapping value getpdf1 method RequestMethod GET public Respon
  • 将自定义声明添加到 azure b2c 客户端凭据流

    我已将 b2c 配置为客户端凭据流的授权服务器 我想向令牌添加声明 以便我可以使用策略将其发送到 APIM 中的后端服务 但我找不到一种方法来将这个额外的声明添加到令牌中 以便我可以在 APIM 上使用它 注意 可以使用授权代码流 但使用客
  • JavaScript 函数声明和求值顺序

    为什么这些示例中的第一个不起作用 但所有其他示例都起作用 1 does not work function setTimeout someFunction1 10 var someFunction1 function alert here1
  • Linq - 一个列表与另一个列表中的项目除外

    我认为我的问题很简单 但我是 linq 的新手 所以我在这里遇到了困难 我的系统调用一个名为 serviceTOP 的服务 它返回一个列表itemTOP Id Name 这些 ItemsTOP 不在我的系统中 但用户可以选择将哪个 item
  • 如何设置 Bluez 5 在配对期间询问 PIN 码

    我使用 QDbus 实现了 org bluez Agent1 接口 我想设置一个固定引脚 我将提供给用户 以便验证所有配对请求 并在引脚错误时拒绝它们 代理功能应为 NoInputNoOutput 因为该项目将部署在没有键盘或显示器的 Ra
  • 使用 ruby​​ rough gem 访问 git 日志数据?

    对于 git 存储库中的给定文件 我想查找修改该文件的最后一次提交的 SHA 以及时间戳 在命令行中 该数据对于特定文件路径的 git log 是可见的 例如 git log n 1 path to file 使用 ruby 的 git g
  • 使用 URL 打开 JQuery 选项卡,并在选项卡单击时向 URL 添加哈希值

    我正在开发一个 Web 应用程序 并且使用 JQuery UI Tabs 插件来分离数据 如果我将鼠标悬停在每个选项卡上 我可以在屏幕左下角看到该选项卡的 URL 例如 testPage com tab1 或 testPage com ta
  • WooCommerce 3.0+ 更改管理订单日期列格式

    在 WooCommerce 中 我使用下面的代码来更改订单日期列的管理订单视图格式 Woocommerce show time on order add filter post date column time custom post da