为没有订单的用户显示一条短代码警告消息
Display a warning message in a shortcode for users without an order
在 functions.php 文件中,我有这个短代码,它显示了 woocommerce 客户下的最后一个订单的下载按钮。对于已经购买东西的客户,一切都很好,但是如果客户没有下载或没有订单,布局就会中断。我想这是因为没有什么可显示的。
所以我想给那些没有下载或没有下订单的人显示一个消息,我试过else但是没有用。
抱歉,我对 php 比较陌生,谁能帮我弄清楚如何引入警告消息?
add_shortcode( 'order_download' , 'last_order_info_08' );
function last_order_info_08( $downloads ){
$customer = new WC_Customer( get_current_user_id() );
$last_order = $customer->get_last_order();
$downloads = $last_order->get_downloadable_items();
if ($downloads) {
wc_get_template(
'button-downloads.php',
array(
'downloads' => $downloads,
'show_title' => true,
)
);
}
}
我稍微修改了代码,应该可以满足您的需要。你应该能够用这个替换当前代码。在任何页面上本地测试和确认短代码已添加并显示。如果您有一些奇怪的 CSS 设置,它可能会或可能不会在您的网站上正确显示。
add_shortcode( 'order_download' , 'last_order_info_08' );
function last_order_info_08( $downloads ){
$customer = new WC_Customer( get_current_user_id() );
$last_order = $customer->get_last_order();
$shop_url = get_permalink( wc_get_page_id( 'shop' ) );
// Check to see if they have an order
if ($last_order) {
// Get download items from last order.
$downloads = $last_order->get_downloadable_items();
// Check to see if it contains downloadable items
if ($downloads) {
wc_get_template(
'button-downloads.php',
array(
'downloads' => $downloads,
'show_title' => true,
)
);
} else {
wc_add_notice( '<a class="woocommerce-Button button" href="'. $shop_url .'"> Browse products</a> No downloads available yet.', 'notice' );
}
} else {
wc_add_notice( '<a class="woocommerce-Button button" href="'. $shop_url .'"> Browse products</a> No downloads available yet.', 'notice' );
}
// HERE we print the notices
wc_print_notices();
}
在 functions.php 文件中,我有这个短代码,它显示了 woocommerce 客户下的最后一个订单的下载按钮。对于已经购买东西的客户,一切都很好,但是如果客户没有下载或没有订单,布局就会中断。我想这是因为没有什么可显示的。
所以我想给那些没有下载或没有下订单的人显示一个消息,我试过else但是没有用。
抱歉,我对 php 比较陌生,谁能帮我弄清楚如何引入警告消息?
add_shortcode( 'order_download' , 'last_order_info_08' );
function last_order_info_08( $downloads ){
$customer = new WC_Customer( get_current_user_id() );
$last_order = $customer->get_last_order();
$downloads = $last_order->get_downloadable_items();
if ($downloads) {
wc_get_template(
'button-downloads.php',
array(
'downloads' => $downloads,
'show_title' => true,
)
);
}
}
我稍微修改了代码,应该可以满足您的需要。你应该能够用这个替换当前代码。在任何页面上本地测试和确认短代码已添加并显示。如果您有一些奇怪的 CSS 设置,它可能会或可能不会在您的网站上正确显示。
add_shortcode( 'order_download' , 'last_order_info_08' );
function last_order_info_08( $downloads ){
$customer = new WC_Customer( get_current_user_id() );
$last_order = $customer->get_last_order();
$shop_url = get_permalink( wc_get_page_id( 'shop' ) );
// Check to see if they have an order
if ($last_order) {
// Get download items from last order.
$downloads = $last_order->get_downloadable_items();
// Check to see if it contains downloadable items
if ($downloads) {
wc_get_template(
'button-downloads.php',
array(
'downloads' => $downloads,
'show_title' => true,
)
);
} else {
wc_add_notice( '<a class="woocommerce-Button button" href="'. $shop_url .'"> Browse products</a> No downloads available yet.', 'notice' );
}
} else {
wc_add_notice( '<a class="woocommerce-Button button" href="'. $shop_url .'"> Browse products</a> No downloads available yet.', 'notice' );
}
// HERE we print the notices
wc_print_notices();
}