你需要在你的网站上自动激活并保持启用的功能吗?那么可以考虑将这些功能添加到WordPress中,作为一个 mu-plugin…甚至创造你自己的!
因此,一个 必须使用的插件 (‘mu-plugin’)就像其他WordPress插件一样,除了在上传到 mu-plugins
的目录中时,就会出现 wp-content
文件夹(即 /wp-content/mu-plugins
它被自动激活,并在你的WordPress安装上保持启用。
早在早期的时候(3.0版左右),WordPress引入了一个功能,叫做 多站点 (WordPress多站点(最初称为WordPress MU)允许多个网站共享并由一个WordPress安装来管理,WordPress多站点(或称为WPMU)还引入了 “mu-plugins “目录,为网站管理员提供了一个简单的方法来激活多站点网络中所有博客上的默认插件。
尽管MU-plugins最初指的是 “多用户插件”,但它们被重新命名为 “必须使用 “的插件。 安装在WPMU安装的’mu-plugins’目录下,mu-plugins现在可以用在任何你想让一个或多个插件自动激活并保持启用状态的地方,无论是在一个还是多个WordPress安装上。
A 必须使用的插件 (‘mu-plugin’)是一个插件,默认情况下,在上传到……的时候会自动激活并保持启用。 mu-plugins
的目录中时,自动激活并保持启用状态。 wp-content
文件夹(即 /wp-content/mu-plugins
.一旦上传到这个目录,WordPress会自动知道这个插件必须在安装时使用。
必须使用的插件在正常的插件之前加载,并且不显示在wp-admin的插件页面上的默认插件列表中。但是,它们确实会出现在插件屏幕的列表菜单中的一个特殊的必须使用部分。
要手动改变默认目录,你需要定义两个常量 (WPMU_PLUGIN_DIR
和 WPMU_PLUGIN_URL
) 在 wp-config.php
:
define('WPMU_PLUGIN_DIR', '/full/path/to/new/directory');
define('WPMU_PLUGIN_URL', 'https://URL/to/new/directory');
必须使用的插件让你向WordPress核心添加默认不安装但用户可能需要的功能。
该文档接着列出了一些需要记住的重要注意事项。
注意:WordPress只寻找mu-plugins目录下的PHP文件,(与普通插件不同)不寻找子目录下的文件。你可能想在mu-plugins目录下创建一个代理PHP加载器文件。
Mu-plugins应该只被用来做 “一个 “简单的动作。总是调用复杂的代码可能会导致与其他代码或插件的冲突,在排除冲突时将mu-plugins作为可疑的来源,会使事情变得非常复杂。
此外,请记住,与普通插件不同,你不能将mu-plugin存储在mu-plugins目录的子目录中。这意味着你将无法使用默认的文件夹对你的mu-plugins进行分类。
你可以通过以下方式来解决这个问题 创建一个mu-plugin 来使WordPress自动包含存储在子目录中的mu-plugins,但由于它们默认不被WordPress发现,所以它们不会出现在必须使用的插件列表中,所以你不看mu-plugins目录本身,就无法看到哪个必须使用的插件安装在子目录中。
按照上面的教程来完成整个过程,或者点击下面的链接,进入上面的某个步骤。
警告。 我们强烈建议在改变东西或向服务器文件添加代码之前,对你的网站进行一次完整的备份,以防出现任何问题。 快照 让备份和恢复WordPress网站变得轻而易举!
如果你是一个WordPress开发者,或者为你的团队或你的客户管理网站,这里有一些有用的mu-plugins,你可以创建它来扩大你的技巧袋。
如果你为你的团队或客户管理网站,或者是你的企业的首席开发人员,你可能想做只有你能看到的WordPress定制,或者为除你之外的所有用户隐藏按钮,以确保人们不会点击他们不该点击的地方。
虽然你可以使用一个插件来定制管理工具,如 布兰达,你也可以用代码轻松做到这一点。
在这个例子中,假设你是一个网站的唯一超级管理员,想隐藏除自己以外的所有用户的工具栏。
只要创建一个mu-plugin,添加以下代码并使用CSS进行样式设计。
<?php add_action( 'admin_footer', 'hideitems' ); function hideitems() { if ( ! is_super_admin() ) { echo "<style> #wpadminbar { display: none !important; } </style> "; } }
2.隐藏WordPress顶部菜单并创建一个自定义注销按钮
这里是另一个WordPress管理的定制,你可以为你的客户做。
比方说,你想隐藏或删除你客户网站管理区的顶栏,因为你发现它显示在那里很不方便,或者觉得让不太了解WordPress的客户访问内容修改菜单可能会导致他们不小心犯错误。
例如,如果你使用Elementor建站,你的客户可以直接从顶部菜单栏访问Elementor的主题定制选项。
在这个例子中坚持使用Elementor,你可以决定隐藏它以避免问题,并将主题定制路径留在管理区域内的Templates > Theme Builder。或者你可以决定完全删除它,因为即使你从管理栏中禁用了选项,一些用户可能仍然不明白它是什么,为什么它显示在他们网站的前端。
使用像Branda这样的插件,隐藏顶栏是非常容易的……只要进入管理区>管理栏,然后取消对一些用户的工具条可见性的选择。
问题是,如果你完全禁用这个栏,用户将无法从他们的管理员那里注销。这不仅造成了安全问题,如果你想切换用户,也不太方便。
幸运的是,有一个解决方案。只需将这段代码作为一个mu-plugin来创建一个注销按钮。
<?php add_action( 'admin_menu', function () { add_menu_page( 'Logout', 'Logout', 'read', 'wp_custom_logout_menu', '__return_false', 'dashicons-marker', 1 // Here use 1 for placing menu on top or PHP_MAX_INT to place it at the bottom, ); } ); add_action( 'admin_init', function () { if ( isset( $_GET['page'] ) && $_GET['page'] == 'wp_custom_logout_menu' ) { wp_redirect( wp_logout_url() ); exit(); } } );
这将使你的用户在注销过程中重定向到登录页面。
3.在WordPress后端添加CSS
如何在WordPress后台添加CSS?
再一次,你可以使用像Branda这样的插件,但你也可以创建一个mu-plugin,并在你的文件中粘贴以下代码。
<?php add_action( 'admin_footer', 'my_admin_css' ); function my_admin_css() { echo '<style> /*Put your CSS code here*/ </style>'; }
就是这样……简单而又非常方便!
4.从WordPress内容中删除所有样式
假设你遇到一个网站,所有的内容样式都是由WordPress内容中的HTML设置的。
这有点无奈,因为没有人真的想修改每个页面的样式,而你可以用CSS轻松地做到这一点。
所以,这里有一个变通的办法。
创建一个mu-plugin,并添加以下代码。
add_filter( 'the_content', function ( $content ) { // Delete all inline style. return preg_replace( '/ style=("|')(.*?)("|')/', '', $content ); } );
试试吧!
5.在WordPress管理中隐藏Elementor
隐去 Elementor 是WordPress的流行和广泛使用的页面构建器之一。如果你是一个网站开发人员或网站管理员,你可能正在使用Elementor来创建和管理一个网站及其内容。
尽管Elementor很简单,但它仍然需要一些知识来使用它,用户不经意的错误可能会使网站无法浏览。
所以,如果你是唯一一个管理网站的人,而且用户不需要经常在WordPress中创建页面,你可能想对其他后台用户隐藏Elementor选项。确保在你不知情的情况下,后台没有发生任何修改,会让你感到安心,你的客户或后台用户也可能会喜欢有一个更简单的界面来工作。
这个提示对以下类型的网站很有效。
- 电子商务网站
- 具有自定义帖子类型的网站
- 主要用作博客发布文章的网站。
如前所述,如果终端用户需要定期创建WordPress页面,这可能不适合你,因为他们需要Elementor来做这个。
在创建一个mu-plugin之前,首先你必须在菜单中隐藏Elementor。然后你可以隐藏WordPress页面上的Elementor按钮。
1.在菜单中隐藏 Elementor
安装Branda,然后。
- 进入管理区 > 管理栏,为你的终端用户隐藏它。这样,他们将无法从那里访问Elementor构建器。
- 进入仪表板 > 管理菜单 > 自定义,然后为除你之外的所有人隐藏 Elementor 管理菜单(提示:使用用户角色,因为它比为每个用户做这件事更容易)。
- 记住也要隐藏 “模板 “菜单(这可能是最关键的隐藏内容)。
注意:我们建议只有一个人能够访问模板,特别是如果使用这些模板来构建你的主题,并使用CSS来控制你网站设计的每一个项目。这可以防止其他用户在其他地方添加CSS(例如在构建器、主题定制器、样式表等)……以及在添加代码时没有正确注释,例如
/* Header customization */ .header{ margin-top: 10px; } /* END Header customization */
2.隐藏WordPress页面上的Elementor按钮
使用 Elementor 创建或修改页面的最简单方法是简单地进入 页面 > 创建 并点击Elementor按钮来改变它。
如果你根本不希望用户访问 Elementor,也有办法隐藏这个按钮。
要做到这一点,你需要定制 用户角色.如果你是网站的唯一管理员,你可以为除你之外的所有人隐藏按钮。
注意。 你可以使用上一步,只隐藏 Elementor 模板(以保证你的主题安全),但仍在 Elementor 中保留创建和修改页面的权限。然而,这可能是有风险的,因为当用户在 Elementor 页面上时,他们可以导航到其他元素,如页眉或页脚,或访问 Elementor 全局设置,这将影响网站。
一旦你完成了上述工作,唯一要做的就是创建一个mu-plugin并粘贴以下代码来隐藏按钮。
<?php add_action( 'admin_footer', 'hideitems' ); function hideitems() { if ( ! is_super_admin() ) { ?> <style> #elementor-switch-mode { display: none; } </style> <?php } }
好好享受吧!
6.让Beehive分析成为你的WordPress仪表板主页
如果你不太喜欢WordPress的管理页面(即使你可以定制它的小部件和隐藏面板),或者让你的用户每次登录WordPress的仪表板时都看到这个屏幕…
为什么不向他们展示一个漂亮的管理登陆页面,并提供像这样的有用信息?
同样,你可以用 布兰达 来定制管理面板和左边的菜单,或者根据用户的角色来隐藏/显示菜单。如果你是唯一的管理员,想为终端用户显示最低要求的菜单或添加自定义CSS,这就很好。
然而,如果你想做的只是把用户从WordPress管理页面重定向到一个更有用的页面,如Beehive分析页面,那么只需创建一个mu-plugin并添加此代码。
<?php function wpmudev_redirect_page() { global $pagenow; if ( $pagenow == 'index.php' && ! wp_doing_ajax() && is_plugin_active( 'google-analytics-async/google-analytics-async.php' ) ) { wp_redirect( admin_url( '/admin.php?page=beehive-google-analytics' ) ); exit; } } add_action( 'admin_init', 'wpmudev_redirect_page' );
祝您愉快!
用MU-插件让WordPress飞起来
希望你现在知道所有关于必须使用的插件:它们是什么,什么时候和什么时候不使用它们,以及如何和在哪里安装它们到WordPress网站。
查看我们的 mu-plugins文档,尝试创建和安装一些你自己的必备插件,如果你遇到任何问题或需要专家的帮助,请联系我们的支持团队……我们24小时都可以回答你的任何WordPress问题
贡献者
这篇文章是与以下人员合作撰写的。
安托万 – 乱七八糟的东西. 我对网络文化和数字解决方案充满热情。我在这个领域已经工作了11年。我一直在寻找最好的解决方案,以帮助我的客户克服数字挑战和发展他们的在线业务。我对数字成功的看法。获得一个全球战略,详细精确地应用它,并始终保持改进。
***
注意:我们不接受来自外部的文章。但是,WPMU DEV的会员可以通过以下方式为我们的博客上的教程和文章提供想法和建议 Blog XChange.