我正在尝试编写一个简码来显示用户woocommerce订单历史记录。我在woocommerce中找到了一个答案,是否有一个短代码/页面来查看所有订单?,但这不再有效了。
如果我按照当前的答案进行操作,它会给我一个致命的错误。
Fatal error: Call to undefined function wc_get_account_orders_actions() in /wp-content/themes/wrapgate/woocommerce/myaccount/my-orders.php on line 72
有人知道更新的代码以使我的短代码正常工作吗?这是我尝试过的简码功能
add_shortcode( 'woocommerce_history', 'woo_order_history' );
function woo_order_history() {
ob_start();
wc_get_template( 'myaccount/my-orders.php', array(
'current_user' => get_user_by( 'id', get_current_user_id() ),
'order_count' => -1
));
return ob_get_clean();
}
如果我尝试使用
woocommerce_account_orders( -1 );
Woocommerce和wordpress都在最新版本上。我尝试从主题函数调用简码函数.php
提前感谢每一个帮助。
my-orders.php 在 2.6.0 版之后被弃用。Woocommerce我的帐户现在使用订单.php。创建短代码以显示订单历史记录
function woo_order_history( $atts ) {
extract( shortcode_atts( array(
'order_count' => -1
), $atts ) );
ob_start();
$customer_orders = wc_get_orders( apply_filters( 'woocommerce_my_account_my_orders_query', array(
'customer' => get_current_user_id(),
'page' => $current_page,
'paginate' => true,
) ) );
wc_get_template(
'myaccount/orders.php',
array(
'current_page' => absint( $current_page ),
'customer_orders' => $customer_orders,
'has_orders' => 0 < $customer_orders->total,
)
);
return ob_get_clean();
}
add_shortcode('woocommerce_history', 'woo_order_history');
将此代码添加到主题>函数.php或子主题>函数.php(如果启用了子主题)。现在,您要显示订单的位置只需添加短代码[woocommerce_history]