是否可以始终在 WooCommerce 我的帐户订单页面中首先保留特定操作按钮?
我有一个插件,可以在订单发货后创建一个“跟踪”按钮,我希望该按钮始终位于列表中的第一个,正如您所看到的,它出现在第二个。
我尝试了以下方法,但没有成功:
jQuery(document).ready(function($) {
$('.woocommerce-MyAccount-navigation .track').prependTo('.woocommerce-MyAccount-navigation');
});
尝试以下(未经测试)基于此线程,首先移动“跟踪”按钮:
add_filter( 'woocommerce_my_account_my_orders_actions', 'my_account_orders_track_button_first', 100, 2 );
function my_account_orders_track_button_first( $actions, $order ) {
// Targeting "track" params (button)
if( is_wc_endpoint_url( 'orders' ) && isset($actions['ast_track']) ) {
// Save "track" params to a variable
$action_track = $actions['ast_track'];
// Remove "track" params from $actions array
unset($actions['ast_track']);
// Add back "track" params first in the $actions array
$actions = array_merge(['ast_track' => $action_track], $actions);
}
return $actions;
}
代码位于子主题的functions.php 文件中(或插件中)。应该可以。