如何在WP Classic Editor中固定面板位置或禁用面板移动/排序及控制功能
如何在WP Classic Editor中固定面板位置或禁用面板移动/排序及控制功能
这种情况太能理解了——用户误操作打乱面板还觉得是系统问题,确实头疼。下面给你两个靠谱的方案,都是不会被WP更新轻易覆盖的方法:
方案一:固定面板,禁用拖拽和排序功能
这个方法会隐藏面板的拖拽手柄、上下排序按钮,同时用JS彻底禁用排序功能,让面板纹丝不动:
添加自定义CSS
把这段代码加到你的子主题style.css里,或者通过WP后台「外观」→「自定义」→「额外CSS」添加:/* 隐藏拖拽手柄、排序按钮和折叠箭头 */ .postbox .hndle .handle-order-higher, .postbox .hndle .handle-order-lower, .postbox .handlediv { display: none !important; } /* 禁止面板被拖拽的视觉提示 */ .postbox { cursor: default !important; user-select: none; }禁用JS排序功能
打开子主题的functions.php,添加这段PHP代码(注意:如果用的是主主题,更新会覆盖,一定要用子主题!):function lock_product_edit_panels() { // 只在产品编辑页面生效,如果你要覆盖所有文章/页面,把'product'改成'post'或'page' if ( is_admin() && get_current_screen()->post_type === 'product' ) { wp_add_inline_script( 'jquery-ui-sortable', ' jQuery(document).ready(function($) { // 销毁WP默认的面板排序功能 if ($(".meta-box-sortables").sortable("instance")) { $(".meta-box-sortables").sortable("destroy"); } }); ' ); } } add_action( 'admin_enqueue_scripts', 'lock_product_edit_panels' );
方案二:彻底禁用所有面板控制(连折叠都不让用)
如果用户还会不小心折叠面板,你可以再加一段CSS强制面板保持展开:
/* 强制所有面板保持展开,无法折叠 */ .postbox, .postbox.closed { display: block !important; }
关于插件的说明
其实没必要专门找插件,上面的代码更稳定可控——很多插件更新后可能失效,而自己添加的子主题代码只要WP核心不改变postbox或jquery-ui-sortable的结构,就一直能用。如果不想改主题文件,也可以用「Code Snippets」这类插件来添加PHP代码,用「Simple Custom CSS and JS」来加CSS/JS,同样不会被WP更新覆盖。
这样设置后,客户就没法拖拽、排序或折叠面板了,自然不会再抱怨WP“坏了”~
备注:内容来源于stack exchange,提问作者Alexandru Alexe
相关产品推荐
相关产品推荐

