php - 有人知道如何根据字符串名称更改颜色吗?
问题描述
如果订单状态为“待付款”,我尝试将 order-status-span-element 的颜色更改为红色。
一旦状态更改为“已完成”,跨度文本颜色应切换为绿色。
这是干净的 div 代码:
<div class="order-status">
<span>Order Status</span>
<?php elseif ( 'order-status' === $column_id ) : ?>
<?php echo '<span id="order-status-value">' . esc_html( wc_get_order_status_name( $order->get_status() ) ) . '<span>'; ?>
</div>
我试图插入一个正确的 if 语句,但我不知道我需要插入哪个函数或变量。
这是片段只是我的 orders.php ->(.../my-account/orders) 的一部分。
<div class="order-status">
<span>Order Status</span>
<?php elseif ( 'order-status' === $column_id ) : ?>
<?php echo '<span id="order-status-value">' . esc_html( wc_get_order_status_name( $order->get_status() ) ) . '<span>';
if ( strcasecmp( wc_get_order_status_name( $order->get_status() ) == 0 ) ) :
echo "The if statement works!";
?>
<style type="text/css">
#order-status-value {
color: green;
}
</style>
<?php
else:
?>
<style type="text/css">
#order-status-value {
color: red;
}
</style>
</div>
</div>
此代码不起作用。
解决方案
您可以使用“样式”HTML 属性来更改颜色:
<?php
$is_green = wc_get_order_status_name($order->get_status()) == 0;
echo '<span id="order-status-value" '
. ($is_green ? 'style="color:green"' : '')
. '>'
. esc_html( wc_get_order_status_name( $order->get_status() ) )
. '<span>';
推荐阅读
- javascript - 捕获并更改 url 请求以进行删除
- node.js - 在nodejs中监听https流量
- c# - Appium 在真实设备上启动但 chrome 挂起
- spring-boot - 警告:未加载 JDBC 驱动程序,因为 driverClassName 属性为空,在 springboot 中使用两个数据源
- prolog - 带有 if - plus 和 minus 的列表
- ios - 我可以选择让 iPhone 用户升级/更新 iOS 应用程序吗?
- java - 如何部署 webService 并访问 wsdl?
- visual-studio - 生成 Visual Studio 项目文件以构建具有 qmake 语法的库以及在哪里可以找到项目文件?
- java - .setText using SharedPreferences doesnt work
- python - 使用 SWIG 绑定 Python/C++ 模板