WooCommerce是一款非常棒的电子商城插件,但是有时候客户仅仅需要产品展示,并不需要这个插件的其他功能,比如支付 优惠券等等,所以很有必要精简掉这些功能,只保留产品模块。
这样不仅仅可以提高处理速度,也可以让后台响应变得更快。
(仅仅适配漫步白月光子主题)现在附上处理代码
/**
* WooCommerce 精简配置
*/
// 1. 基础禁用
add_filter( 'woocommerce_coupons_enabled', '__return_false' );
add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );
// 2. 确保管理员有所有必要的权限
add_action( 'init', 'at8_fix_admin_capabilities' );
function at8_fix_admin_capabilities() {
if ( current_user_can( 'administrator' ) ) {
$admin_role = get_role( 'administrator' );
if ( $admin_role ) {
// WooCommerce 核心权限
$admin_role->add_cap( 'manage_woocommerce' );
$admin_role->add_cap( 'view_admin_dashboard' );
// 产品相关权限
$admin_role->add_cap( 'edit_products' );
$admin_role->add_cap( 'read_products' );
$admin_role->add_cap( 'delete_products' );
$admin_role->add_cap( 'edit_others_products' );
$admin_role->add_cap( 'delete_others_products' );
$admin_role->add_cap( 'publish_products' );
$admin_role->add_cap( 'edit_published_products' );
$admin_role->add_cap( 'delete_published_products' );
// 分类权限
$admin_role->add_cap( 'manage_product_terms' );
$admin_role->add_cap( 'edit_product_terms' );
$admin_role->add_cap( 'delete_product_terms' );
$admin_role->add_cap( 'assign_product_terms' );
// 添加可能缺失的权限
$admin_role->add_cap( 'edit_shop_orders' );
$admin_role->add_cap( 'read_shop_orders' );
$admin_role->add_cap( 'delete_shop_orders' );
$admin_role->add_cap( 'edit_shop_order_notes' );
$admin_role->add_cap( 'edit_others_shop_orders' );
}
}
}
// 3. 安全的菜单清理 - 只隐藏,不删除
add_action( 'admin_menu', 'at8_safe_menu_cleanup', 9999 );
function at8_safe_menu_cleanup() {
global $submenu;
// 移除 WooCommerce 主菜单
remove_menu_page( 'woocommerce' );
// 清理产品菜单的子菜单
if ( isset( $submenu['edit.php?post_type=product'] ) ) {
foreach ( $submenu['edit.php?post_type=product'] as $key => $item ) {
if ( isset( $item[2] ) ) {
$remove_slugs = array(
'wc-admin',
'wc-reports',
'wc-settings',
'wc-status',
'wc-addons',
'wc-orders',
'shop_coupon',
'marketing',
'payments'
);
foreach ( $remove_slugs as $slug ) {
if ( strpos( $item[2], $slug ) !== false ) {
unset( $submenu['edit.php?post_type=product'][$key] );
break;
}
}
}
}
}
// 移除独立支付菜单
remove_menu_page( 'wc-admin&path=/payments' );
}
// 4. 重定向不需要的页面
add_action( 'admin_init', 'at8_safe_redirects' );
function at8_safe_redirects() {
if ( isset( $_GET['page'] ) ) {
$redirect_pages = array(
'wc-orders',
'wc-reports',
'wc-settings',
'wc-status',
'wc-addons',
'wc-admin'
);
$current_page = sanitize_text_field( $_GET['page'] );
foreach ( $redirect_pages as $page ) {
if ( $current_page === $page || strpos( $current_page, $page ) !== false ) {
wp_redirect( admin_url( 'edit.php?post_type=product' ) );
exit;
}
}
}
}
// 5. CSS 隐藏不需要的菜单项
add_action( 'admin_head', 'at8_hide_unwanted_menus' );
function at8_hide_unwanted_menus() {
echo '<style type="text/css">
/* 隐藏 WooCommerce 主菜单 */
#toplevel_page_woocommerce {
display: none !important;
}
/* 隐藏 WooCommerce 主菜单中不需要的子项 */
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-orders"],
#toplevel_page_woocommerce .wp-submenu li a[href*="shop_coupon"],
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-reports"],
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-settings"],
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-status"],
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-addons"],
#toplevel_page_woocommerce .wp-submenu li a[href*="wc-admin"],
#toplevel_page_woocommerce .wp-submenu li a[href*="marketing"],
#toplevel_page_woocommerce .wp-submenu li a[href*="payments"],
/* 隐藏独立支付菜单 */
#toplevel_page_wc-admin-path-payments,
li[class*="PAYMENTS_MENU_ITEM"],
/* 隐藏设置提示 */
.woocommerce-layout__activity-panel,
.woocommerce-task-dashboard__container,
.woocommerce-setup-guide,
.woocommerce-message {
display: none !important;
}
/* 重命名产品主菜单 */
#menu-posts-product .wp-menu-name {
font-size: 0 !important;
}
#menu-posts-product .wp-menu-name:after {
content: "产品" !important;
font-size: 14px !important;
}
</style>';
}
// 6. JavaScript 辅助隐藏
add_action( 'admin_footer', 'at8_js_cleanup' );
function at8_js_cleanup() {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
// 隐藏不需要的菜单项
function hideUnwantedMenus() {
$('a[href*="wc-orders"], a[href*="shop_coupon"], a[href*="wc-reports"], a[href*="wc-settings"], a[href*="wc-status"], a[href*="wc-addons"], a[href*="wc-admin"], a[href*="marketing"], a[href*="payments"]').closest('li').hide();
$('#toplevel_page_woocommerce').hide();
}
hideUnwantedMenus();
setInterval(hideUnwantedMenus, 1000);
});
</script>
<?php
}
// 7. 移除仪表盘小工具
add_action( 'wp_dashboard_setup', 'at8_remove_dashboard_widgets' );
function at8_remove_dashboard_widgets() {
remove_meta_box( 'woocommerce_dashboard_status', 'dashboard', 'normal' );
}
// 8. 禁用前台功能
add_action( 'template_redirect', 'at8_disable_frontend' );
function at8_disable_frontend() {
if ( is_cart() || is_checkout() ) {
wp_redirect( home_url() );
exit;
}
}
// 9. 禁用任务列表
update_option( 'woocommerce_task_list_hidden', 'yes' );
update_option( 'woocommerce_onboarding_opt_in', 'no' );
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END










暂无评论内容