WordPress单人版中有一个贴心的file editor功能,可以通过浏览器修改主题和插件文件。然而在Wordpress MU中,这一功能被屏蔽了,原因是为了安全:WPMU是多用户的博客系统,如果用户修改文件的话,可能会破坏整个系统。
然而,如果这种安全因素对你来说不是问题,比如整个MU只有你一个人用,或者你对所有用户的水平和人品都极为信任的话,有办法启用这个编辑器吗?
Betty在这里找到了启用theme editor的办法:
1,首先要弄到theme-editor.php这个文件。MU的安装包里不包括这个文件,但普通WP都是自带的,下载一个,放到/wp-admin/目录下面。
2,然后打开/wp-admin/includes/mu.php这个文件,找到下面这行(大概在400多行的地方),删掉或者注释掉:
unset( $submenu['themes.php'][10] );
WordPress和Wordpress MU的核心代码有95%是相同的,所以WPMU是有这个功能的,只是特意屏蔽掉了,把这个屏蔽的代码去掉,主题编辑器的功能就可以用了。:)
同理应该对插件编辑器也适用,而且Betty装的MU居然自带了plugin-editor.php这个文件,不过看了下代码,提到plugins的有三处,估计都得注释掉:
unset( $submenu['plugins.php'][5] );
unset( $menu['35'] ); // Plugins
unset( $submenu['plugins.php'][10] ); // always remove the plugin editor
不过Betty没亲自试 :oops:
这种办法可能带有安全隐患,风险自负哦 :!: (不过个人玩WPMU的应该很少吧,大概都是企业级的用户在用,所以这个问题根本不是问题,要么直接干脆完全禁用插件! :mrgreen: 要么有自己的技术队伍进行二次开发……)
本文作者:Betty | 本文地址: https://myfairland.net/enable-theme-editor-in-wpmu/
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明
似乎2.7.2这个方法不能用了?
@horse:
我写这个的时候MU还是2.6
后来不用MU了,也不知道现在改没改 :)
<?php
add_action( 'admin_init', create_function('$pages', 'if(is_site_admin()) return remove_action("admin_init","disable_some_pages");'),1);
add_action( '_admin_menu', create_function('$theme_menu', 'return add_theme_page( "Editor", "Editor", "edit_themes", "theme-editor.php");' ));
add_action( '_admin_menu', create_function('$plugin_menu', 'return add_submenu_page( "plugins.php", "Editor", "Editor", "edit_plugins", "plugin-editor.php");' ));
?>
把这个保存为任意名字的php文件放到mu-plugins目录下即可。
@蓝蓝小雪:
非常感谢小雪..
非常感谢!
3.51怎么开启?
现在 MU 已经合并进 WordPress 了,自带这个功能,不用特意开启了
会员怎么拥有此功能?
什么?
我是说给用户开启主题设置功能就够,也想开通主题上传功能!我用的是3.51