在Wordpress MU中使用主题编辑器

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 | 本文地址: http://myfairland.net/enable-theme-editor-in-wpmu/
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明
如果你对本文感兴趣,欢迎订阅我的博客

3个评论/引用通告

你可以发表评论,或者引用此文,或者订阅评论

  1. 似乎2.7.2这个方法不能用了?

  2. @horse:
    我写这个的时候MU还是2.6
    后来不用MU了,也不知道现在改没改 :)


  3. <?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目录下即可。

发表评论

首页

订阅

关于&留言本

文章索引

原创插件

Chinese (Simplified) flagChinese (Traditional) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flag
Spanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flag
Catalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flag
Slovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flag
Turkish flagHungarian flag      
By N2H