问题:将 <HTML> 添加到 WooCommerce“我的帐户”订单表中的订单状态列

我想对订单列表(我的帐户区域)中某些订单列的内容进行样式设置。问题是,每个内容都没有任何我可以用于样式的元素开始。

例如:我想给订单状态一个像徽章一样的背景颜色。目前状态是列中唯一的内容。像这样:

<td class="woocommerce-orders-table__cell woocommerce-orders-table__cell-order-status" data-title="Status">
    Completed
</td>

我想把它改成这样:

<td class="woocommerce-orders-table__cell woocommerce-orders-table__cell-order-status" data-title="Status">
    <span class="badge badge-success">Completed</span>
</td>

class是一个选项。我还可以根据<td>的类来设计简单的<span>

有没有办法在不接触模板文件的情况下更改列的输出?这是一个非常重要的模板,我不想为了这么简单的添加而改变它。

在模板中,我在每列内容之前看到了这个动作:

<?php if ( has_action( 'woocommerce_my_account_my_orders_column_' . $column_id ) ) : ?>

有没有办法使用它?

解答

这确实是正确的方法,在这种情况下使用列 id order-status

woocommerce_my_ 帐户_my_ 订单\column\to**{$column_id}**

function my_callback( $order ) {
    echo '<span class="badge badge-success">' . esc_html( wc_get_order_status_name( $order->get_status() ) ) . '</span>';
}
add_action( 'woocommerce_my_account_my_orders_column_order-status', 'my_callback', 10, 1 );
Logo

WooCommerce社区为您提供最前沿的新闻资讯和知识内容

更多推荐