Используйте следующее, чтобы добавить к каждому конкретному HTML-тегу действия атрибут target
со значением _blank
, открывающим ссылку в новом окне:
// Your additional action button
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;
}
// Jquery script
add_action( 'woocommerce_after_account_orders', 'action_after_account_orders_js');
function action_after_account_orders_js() {
$action_slug = 'specific_name';
?>
<script>
jQuery(function($){
$('a.<?php echo $action_slug; ?>').each( function(){
$(this).attr('target','_blank');
})
});
</script>
<?php
}
Код входит в файл functions.phpвашей активной детской темы (или активной темы).Протестировано и работает.
Вам необходимо установить одинаковую уникальную и явную переменную $action_slug
в обеих функциях.
Для выполнения целевых заказовтолько , добавьте if ( $order->has_status('completed') ) {
в первую функцию только как:
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 ) {
if ( $order->has_status( 'completed' ) ) {
$action_slug = 'specific_name';
$actions[$action_slug] = array(
'url' => home_url('/the_action_url/'),
'name' => 'The Button Text',
);
}
return $actions;
}