WooCommerce目录模式是指隐藏所有跟购物相关的功能,比如价格、购物车、结算页面、订单详情页面等等。网站刚建好时可能需要测试运行,或者单纯的想用WooCommerce做一个目录网站的,但保留未来增加购物功能的可能性,这段代码都会对你有所帮助。
WooCommerce目录模式代码
代码应放在child theme的functions.php中使用,做了五件事:
- 不对管理员生效
- 隐藏加入购物车的按钮
- 将购物车和结算页面重定向到商店首页
- 隐藏所有价格
- 将订单和下载菜单从dashboard链接中删除
add_action( 'template_redirect', 'sola_wc_catalog_mode' );
function sola_wc_catalog_mode() {
// Do nothing if the logged in user is a administrator
if( is_user_logged_in() && current_user_can('manage_options') ){
return;
}
// Remove add to cart button from archive pages and single product pages
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
// Redirect cart and checkout pages to the shop page
if( is_cart() || is_checkout() ){
wp_redirect(wc_get_page_permalink('shop'));
exit;
}
// Hide all prices, including the products in a widget
add_filter( 'woocommerce_get_price_html', function(){
return '';
});
// Remove orders and downloads items from dashboard links
add_filter ( 'woocommerce_account_menu_items', function( $menu_items ){
unset( $menu_items['orders'] );
unset( $menu_items['downloads'] );
return $menu_items;
});
}
需要注意的是,我的账户首页的介绍里,默认带有订单链接,如果你需要移除,请将templates\myaccount\dashboard.php
拷贝到主题目录下覆盖修改。