【发布时间】:2021-08-31 15:26:31
【问题描述】:
我想为view-order.php模板创建一个简码,它位于我的子主题/woocommerce/myaccount/view-order.php或者可以通过url访问/my-account/view-order/{id}/我已经阅读了这篇文章How to create a shortcode for custom page template?并调整了代码如下:
function view_order_shortcode() {
ob_start();
get_template_part('view-order');
return ob_get_clean();
}
add_shortcode( 'view_order_shortcode', 'view_order_shortcode' );
然后我将<?php echo do_shortcode("[view_order_shortcode]"); ?> 插入到我希望它显示但它不起作用的模板中。
我也读过这篇文章Woocommerce - How to show Order details (my-account) on a separate page,但这篇文章谈论的是my-orders.php 下面的代码可以正常工作。
function woocommerce_orders() {
$user_id = get_current_user_id();
if ($user_id == 0) {
return do_shortcode('[woocommerce_my_account]');
}else{
ob_start();
wc_get_template( 'myaccount/my-orders.php', array(
'current_user' => get_user_by( 'id', $user_id),
'order_count' => $order_count
) );
return ob_get_clean();
}
}
add_shortcode('woocommerce_orders', 'woocommerce_orders');
但是,我已将其调整为波纹管,但无法正常工作。有什么建议吗?
function woocommerce_orders() {
$user_id = get_current_user_id();
if ($user_id == 0) {
return do_shortcode('[woocommerce_my_account]');
}else{
ob_start();
wc_get_template( 'myaccount/view-order.php', array(
'current_user' => get_user_by( 'id', $user_id),
) );
return ob_get_clean();
}
}
add_shortcode('woocommerce_orders', 'woocommerce_orders');
【问题讨论】:
标签: woocommerce