
为 WooCommerce "我的账户" 页面订单列表中添加的自定义操作按钮应用独特的 CSS 样式是常见的需求。通过巧妙地利用操作别名和 CSS 选择器,可以轻松实现这一目标,避免影响其他按钮的默认样式。
使用操作别名作为 CSS 类名
在向订单操作添加自定义按钮时,woocommerce_my_account_my_orders_actions 过滤器允许你定义按钮的 URL 和名称。我们可以利用操作别名($action_slug)作为按钮的 CSS 类名。
以下代码展示了如何添加一个名为 "specific_name" 的自定义操作按钮:
立即学习“前端免费学习笔记(深入)”;
add_filter( 'woocommerce_my_account_my_orders_actions', 'add_my_account_my_orders_custom_action', 10, 2 );
function add_my_account_my_orders_custom_action( $actions, $order ) {
$action_slug = 'specific_name';
$actions[$action_slug] = array(
'url' => home_url('/the_action_url/'),
'name' => 'The Button Text',
);
return $actions;
}这段代码会在 "我的账户" 订单列表中添加一个链接,其 class 属性包含 specific_name。
应用自定义 CSS 样式
现在,可以使用 CSS 选择器针对这个特定的类名来应用自定义样式。例如,要将 "specific_name" 按钮的文本颜色设置为红色,可以使用以下 CSS 代码:
.woocommerce-account table.account-orders-table .specific_name {
color: red;
}这个 CSS 规则只会影响类名为 specific_name 的按钮,而不会影响其他按钮的样式。
移除默认 CSS 类 (可选)
如果需要完全控制按钮的样式,可能需要移除 WooCommerce 默认添加的 woocommerce-button button 类。这需要覆盖 WooCommerce 的模板文件 /myaccount/orders.php。
注意: 强烈建议使用子主题来覆盖模板文件,以避免在主题更新时丢失修改。
将 /wp-content/plugins/woocommerce/templates/myaccount/orders.php 文件复制到你的子主题目录 /wp-content/themes/your-child-theme/woocommerce/myaccount/orders.php。
在复制的文件中,找到以下代码(大约在第 69-71 行,基于 WooCommerce 3.7.0):
foreach ( $actions as $key => $action ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
echo '<a href="' . esc_url( $action['url'] ) . '" class="woocommerce-button button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';
}将其替换为以下代码:
foreach ( $actions as $key => $action ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
// Compare
if ( $key == 'specific_name' ) {
echo '<a href="' . esc_url( $action['url'] ) . '" class="' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';
} else {
echo '<a href="' . esc_url( $action['url'] ) . '" class="woocommerce-button button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';
}
}这段代码会检查当前操作的键是否为 specific_name。如果是,则只输出操作别名作为类名,从而移除默认的 woocommerce-button button 类。对于其他按钮,则保持原有的类名。
总结
通过将操作别名用作 CSS 类名,并结合 CSS 选择器,可以轻松地为 WooCommerce "我的账户" 页面订单列表中的自定义操作按钮添加独特的样式。如果需要完全控制按钮的样式,可以覆盖 WooCommerce 模板文件来移除默认的 CSS 类。记住始终在子主题中进行模板修改,以确保主题更新不会覆盖你的更改。
以上就是为 WooCommerce 我的账户订单中的自定义操作按钮添加专属 CSS 类的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号