填写您的邮件地址,订阅我们的精彩内容:

WordPress删除后台编辑主题和编辑插件菜单

803

在我们的开发中,可能存在两种情况:

  1. 不希望网站的测试用户看到当前WordPress主题的源码
  2. 不希望由于错误操作造成网站代码的丢失

我们可以使用下面这段代码去除掉后台编辑主题和编辑插件菜单,这样就不用担心用户进入编辑模式。

function remove_editor_menu() {
  remove_action('admin_menu', '_add_themes_utility_last', 101);
  remove_submenu_page('plugins.php','plugin-editor.php');
}
add_action('_admin_menu', 'remove_editor_menu', 1);

add_filter( 'plugin_action_links', 'remove_plugin_actions', 10, 4 );
function remove_plugin_actions( $actions, $plugin_file, $plugin_data, $context )
{
	// 移除所有“编辑”链接
	if ( isset( $actions['edit'] ) )
	{
		unset( $actions['edit'] );
	}
	// 移除插件的“停用”链接
	if( isset( $actions['deactivate'] ) )
	{
		switch($plugin_file)
		{
			// 添加插件的主文件目录
			case 'cartpauj-pm/pm-main.php': // 注意结尾是英文冒号
				unset( $actions['deactivate'] );
			break;
		}
	}
	return $actions;
}

把上面的代码加入到主题的functions.php文件中即可。

当然,要完全屏蔽是不可能的,因为编辑页面的PHP文件还在。我们上面只是去除了后台进入这两个页面的链接,如果要绝对禁止访问的话,我们可以在.htaccess文件中加入下面的语句。

<Files "*plugin-editor.php*">
Require all denied
</Files>

这样就可以完全禁止编辑插件了。

下面我简单说几句