我正在尝试将跟踪订单按钮添加到“我的帐户”>“订单”页面,以使访问者可以从此处检查运输跟踪。该按钮具有指向跟踪服务的链接,该跟踪服务具有从公共秩序记录中收集的跟踪号(这是我的情况下存储跟踪号的方式)。我设法创建了“跟踪”按钮,但以下命令的“查看”按钮消失了。应用代码时,它看起来是这样的-https://gyazo.com/498975ca43b09bce231a527ee782729a,二阶和三阶应该具有“查看”按钮。
AFAIK这是因为这些订单缺少从中收集跟踪号的公共订单记录,但我不知道它如何影响“查看”按钮。
这是我的代码:
function my_code_add_myaccount_order_track_button( $actions, $order ) {
$order_notes = $order->get_customer_order_notes();
foreach ( $order_notes as $order_note ) {
$actions['track'] = array(
'url' => 'https://t.17track.net/en#nums=' . substr($order_note->comment_content, strpos($order_note->comment_content, "number:") + 8, 13),
'name' => __( 'Track', 'my-textdomain' ),
);
return $actions;
}
}
add_filter( 'woocommerce_my_account_my_orders_actions', 'my_code_add_myaccount_order_track_button', 10, 2 );
答案 0 :(得分:0)
我找到了解决此问题的方法,如果没有针对特定订单的公共订单注释,则可以添加保释功能。这是代码:
function my_code_add_myaccount_order_track_button( $actions, $order ) {
$order_notes = $order->get_customer_order_notes();
if ( empty ($order_notes) ) {
return $actions;
}
else {
foreach ( $order_notes as $order_note ) {
$actions['track'] = array(
'url' => 'https://t.17track.net/en#nums=' . substr($order_note->comment_content, strpos($order_note->comment_content, "number:") + 8, 13),
'name' => __( 'Track', 'my-textdomain' ),
);
return $actions;
}
}
}
add_filter( 'woocommerce_my_account_my_orders_actions', 'my_code_add_myaccount_order_track_button', 10, 2 );