You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WooCommerce我的账户订单表格中包裹订单状态文本

解决订单状态文本添加div包裹的方法

方法1:利用内置过滤钩子实现(推荐)

如果是基于WooCommerce的店铺订单表格,可通过专属钩子替换默认状态输出:

  • 使用woocommerce_my_account_my_orders_column_order-status钩子,直接自定义状态列的输出内容
  • 代码示例(添加到主题functions.php或自定义插件中):
add_action( 'woocommerce_my_account_my_orders_column_order-status', 'wrap_order_status_with_div' );
function wrap_order_status_with_div( $order ) {
    $status_text = wc_get_order_status_name( $order->get_status() );
    echo '<div class="order-status-container">' . esc_html( $status_text ) . '</div>';
}

这段代码会完全替换默认的状态文本输出,直接用div包裹内容,无需修改模板文件。

方法2:修改订单模板文件

若钩子不生效(比如使用了自定义主题或第三方订单插件),可直接修改模板:

  1. 找到对应订单表格的模板文件(WooCommerce默认路径为插件目录/woocommerce/templates/myaccount/orders.php)
  2. 将文件复制到主题目录下的对应路径(保持结构:主题目录/woocommerce/myaccount/orders.php),避免插件更新覆盖修改
  3. 在复制后的文件中找到输出订单状态的代码段,通常类似:
<td class="woocommerce-orders-table__cell woocommerce-orders-table__cell-order-status" data-title="<?php esc_attr_e( 'Status', 'woocommerce' ); ?>">
    <?php echo wc_get_order_status_name( $order->get_status() ); ?>
</td>
  1. 修改为:
<td class="woocommerce-orders-table__cell woocommerce-orders-table__cell-order-status" data-title="<?php esc_attr_e( 'Status', 'woocommerce' ); ?>">
    <div class="order-status-container"><?php echo wc_get_order_status_name( $order->get_status() ); ?></div>
</td>

注意事项

  • 优先使用钩子方法,避免后续插件/主题更新时丢失修改
  • 若使用第三方订单表格插件,需查看插件文档确认可用钩子或模板路径

内容的提问来源于stack exchange,提问作者Sackadelic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:54:56