如何在WooCommerce我的账户订单操作列保留按钮并添加自定义文本
解决WooCommerce我的账户订单操作列同时保留默认按钮和自定义文本的问题
你当前的代码会覆盖默认操作按钮,是因为woocommerce_my_account_my_orders_column_order-actions钩子本身绑定了WooCommerce内置函数来输出操作按钮,你的自定义函数直接输出文本但未保留原有逻辑。以下两种方法可实现同时显示按钮和自定义文本:
方法一:主动调用默认按钮输出函数
在自定义函数中先执行WooCommerce默认的操作列输出函数,再添加自定义文本:
add_action('woocommerce_my_account_my_orders_column_order-actions', 'add_account_orders_column_rows'); function add_account_orders_column_rows($order) { // 输出默认操作按钮 woocommerce_account_orders_actions_column($order); // 添加自定义文本,可自行调整样式 echo "<span style='margin-left: 10px;'>TEST</span>"; }
方法二:调整动作优先级
通过设置更高的优先级数值(默认优先级为10,更大的数值会让你的代码在默认函数之后执行),让自定义文本追加在按钮之后:
// 优先级设为20,晚于默认的10执行 add_action('woocommerce_my_account_my_orders_column_order-actions', 'add_account_orders_column_rows', 20); function add_account_orders_column_rows($order) { // 添加自定义文本,可自行调整样式 echo "<span style='margin-left: 10px;'>TEST</span>"; }
两种方法都能满足需求,若需要灵活控制输出顺序优先选方法一;若只是简单追加内容,方法二更简洁。
内容的提问来源于stack exchange,提问作者Mahesh Thorat
相关产品推荐
相关产品推荐

