WooCommerce: добавьте <span>к каждому столбцу заказа в списке заказов - PullRequest
1 голос
/ 01 мая 2020

Я хочу стилизовать содержимое некоторых столбцов заказов в списке заказов (область «Моя учетная запись»). Проблема в том, что каждый контент начинается без каких-либо элементов, которые я мог бы использовать для стиля.

Например: я хочу придать статусу заказа цвет фона, такой как значок. На данный момент статус является единственным контентом в колонке. Например:

<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. Я мог бы также стилизовать простой <span> на основе класса <td>.

Можно ли как-то изменить вывод столбцов, не касаясь файла шаблона? Это очень важный шаблон, и я не хочу менять его для такого простого добавления.

В шаблоне я видел это действие перед содержимым каждого столбца:

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

Is есть ли способ его использовать?

1 Ответ

1 голос
/ 01 мая 2020

Это действительно правильный путь, используйте идентификатор столбца 'order-status' в этом случае

woocommerce_my_account_my_orders_column_ {$ 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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...