在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以来,它刚刚停止工作。
有什么想法吗?
谢谢
正确答案是:
请参阅官方的WooCommerce回复帖子
为了便于其他人参考,新的过滤器将在WooCommerce 3.0.2中发布。
补丁可以从https://github.com/woocommerce/woocommerce/pull/14253手动应用
它与挂接在woocommerce_admin_order_date_format
新过滤器挂接中的自定义函数一起工作:
// Woocommerce show time on order
add_filter('woocommerce_admin_order_date_format', 'custom_post_date_column_time');
function custom_post_date_column_time($h_time, $post)
{
return get_the_time(__('Y/m/d G:i', 'woocommerce'), $post);
}
在WC core codeclass WC admin post types.php
中,如果您查看render\u shop\u order\u columns()
函数,自WooCommerce 3.0版以来,情况发生了变化,因为它使用了WC\u Abstract\u order
获取创建日期()方法,而不是WordPress函数获取时间()
。
这就是为什么你使用的钩子不再工作了。
以下是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\u date\u created()
的源代码,它将使用新的WC\u Data
getter方法get\u prop()
。在get_prop()
的源代码中,您可以探索这个新的过滤器挂钩:
$value = apply_filters( $this->get_hook_prefix() . $prop, $value, $this );
问题内容: 我有一个带有大量行的表。一列包含格式为’%m /%d /%Y’的日期,我想将它们全部更改为格式’%Y-%m-%d’ 通常:更新表设置mydate =‘6’ 我猜是行不通的,因为日期总是在变化。在这种情况下,我该怎么办? 问题答案: 如果日期字符串中的字段正确地用零填充,则可以将它们提取为子字符串:
我尝试创建一个具有特定到期日期的订阅。 在下面的函数中,是一个数组,包含有关产品的详细信息。这个数组包含product_id、regular_price等。product_id引用订阅变量product。 是订阅开始日期。这个时间戳可能是几个月前的。 通过示例,我需要创建一个订阅开始2个月前(4月1日)。认购期限为3个月,因此认购期满必须为7月1日。 但现在的问题是,订阅到期时间定在9月27日。(
我是批处理/shell脚本的新手。我有一个CSV文件是这样的: 大约2000张唱片。col由Tab分隔。我想将日期列更改为以下格式:
店铺后台如何管理订单 如图所示 1、功能路径 Niushop商城电脑端后台-订单 2、流程介绍 买家在商城购买商品,系统则会产生订单,而后台可查看所有订单信息,并对订单可备注 1.查看订单,根据筛选条件可查看指定的订单 订单列表,商城内所有的订单商家均可查看,可看订单的状态、详情、买家、交易状态、配送方式、订单类型等信息(如图) 打印订单:勾选商品,批量操作 2.订单状态: 待付款:在商城中买家已
我们正在从具有日期的数据库中检索列表。我们希望以不同的格式显示它。假设2014年11月10日。 这是我的密码 跟踪1: 小径2: 但它会带来错误。有什么方法,我们可以使用,以获得所需的日期格式在Laravel? 正常查询:
问题内容: 我试图改变对象的格式,我试图以这种方式做到这一点: 但这对对象没有任何影响,仍然是旧格式,无法真正理解为什么会这样。 问题答案: 请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息- 外的格式化谎言。同样,a 具有一个时间点,它可以表示为(