如何设置 "Backordered: " - WP-admin -> Order Edit 中的文本样式?

How can I style the "Backordered: " - text in WP-admin - > Order Edit?

我需要设置 TR 元素的样式,Woocommerce 在订单编辑页面的 wp-admin 中打印“缺货”文本,最好同时用于订单编辑和“订单快速查看”模式。

我的问题是没有 classes 或 id 可以将我的 css 定位到。

    <table cellspacing="0" class="display_meta">
     <tbody>
//  THIS FOLLOWING TR I NEED TO STYLE
       <tr> 
        <th>Backordered:</th>
          <td><p>2</p></td>
       </tr> 
// EOF
       <tr>
        <th>Cost of goods:</th>
         <td><p>8,17</p></td>
       </tr>
       <tr>
        <th>Purchase price:</th>
         <td><p>8,17</p></td>
       </tr>
     </tbody>
    </table>

我试过像这样使用一些简单的 CSS:

table.display_meta tr:first-child {
    color: red !important;
}

这确实有效,但问题是,正如您从附图中看到的那样;我为每个产品打印了几个元字段,所以当订单有很多订单行时,每个第一个 tr 子项显然都会变红。

我只想设置延期交货行的样式,使其足够可见,这样仓库就不会开始包装过程。

我想我需要添加一些 classes,或者我可以使用代码片段来完成此操作。但即使 Google 也不是我的朋友。我找不到这方面的任何例子。

如果我可以找到包含延期交货产品的正确 class ID,那么也可以为整行包裹的整个 <tr class="item"> 设置样式。

有人吗?

当项目包含元键为 'Backordered' 的任何项目元时,您可以向项目的 <tr> 添加额外的 CSS class,通过 woocommerce_admin_html_order_item_class 过滤器。

要同时将其添加到订单预览模式,您可以使用 woocommerce_admin_html_order_preview_item_class 过滤器。

add_filter( 'woocommerce_admin_html_order_item_class', 'woocommerce_admin_html_order_item_add_backorder_class', 10, 3 );
add_filter( 'woocommerce_admin_html_order_preview_item_class', 'woocommerce_admin_html_order_item_add_backorder_class', 10, 3 );
function woocommerce_admin_html_order_item_add_backorder_class( $class, $item, $order ) {
    foreach ( $item->get_formatted_meta_data( '_', true ) as $meta_id => $meta_data ) {
        if ( strpos( $meta_data->key, 'Backordered' ) !== false ) {
            $class .= 'backordered-item';
            break;
        }
    }
    return $class;
}