WordPress MU-Plugins:它们是+ WP Web开发人员的有用的必须使用插件

您是否需要自动激活功能并保持在网站上的启用?然后考虑将这些添加到WordPress作为 mu-plugin ...甚至创建自己的!

在本教程中,我们将探索:

  • 什么是mu-plugins?
  • 一个简史的Mu-plugins
  • MU-Plugin功能

    • 如何更改默认的必须使用插件目录

  • 当不使用mu-plugins
  • 如何在WordPress
  • 中创建和安装MU-Plugins
  • MU-Plugin教程

    • 隐藏所有用户的WordPress管理项目(您)
    • 隐藏Wordpress顶部菜单并创建自定义注销按钮
    • 将css添加到WordPress后端
    • 删除WordPress内容
    • 的所有样式
    • 隐藏Wordpress管理员中的Elementor
    • 使蜂箱分析您的WordPress仪表板主页


让我们跳进...

WordPress MU-Plugins是什么?

What are MU-Plugins? CAN MU-Plugins Make WordPress Sites Fly?

如wordpress.org文件中所描述的...

必须使用的插件(a.k.a.mu-plugins)是安装在内容文件夹中的特殊目录中的插件,并在安装中的所有站点上自动启用.

所以,必须使用的插件('mu-plugin')就像任何其他wordpress插件一样,除了上传到wp-content文件夹的mu-plugins目录时(即/wp-content/mu-plugins它已自动激活并在WordPress安装上保持启用状态.

Mu-plugins的简要历史

在早期(围绕3.0左右),Wordpress介绍了一个名为Multisite(最初称为WordPress MU)的功能,以允许多个站点分享并由一个WordPress安装,WordPress MultiSite(或已知时的WPMU管理)还介绍了"MU-Plugins"的目录,提供网站管理员在多路网络中的所有博客上默认在默认激活插件的简单方法.

虽然mu-plugins最初称为"多用户插件",但它们被重命名为"必须使用"插件.安装在WPMU安装的"MU-Plugins"目录中,无论是在一个或多个WordPress安装中,现在都可以使用MU-Plugins自动激活并保持启用.

MU-Plugin功能

必须使用的插件('mu-plugin')是一个插件,默认情况下,默认情况下,在上传到wp-content文件夹的mu-plugins目录上时,默认情况下会自动激活并保持启用(即/wp-content/mu-plugins.一次上传到此目录中,WordPress将自动知道必须在安装上使用此插件.

必须在普通插件之前加载必须使用的插件,并在WP-admin的插件页面上的插件上没有显示.但是,它们确实出现在插件屏幕列表菜单中的特殊必备部分中.

Plugins screen-MU-Plugins 插件屏幕,其中包含在站点上的必须使用的插件.

注意:


    除了从WordPress安装的必备目录中删除插件文件,无法取消激活或禁用mu-plugin.
  • 虽然插件保留在目录中,WordPress将始终执行它.因此,一旦将MU-Plugin添加到MU-Plugins目录中,它将仍然"始终打开",直到它从该文件夹中删除.
  • 必须自动更新的必要插件,WordPress不会通知您关于新版本的信息.这意味着MU-PLACK必须手动保持最新(除非由外部服务安装和维护).

  • 必须通过简单地将文件上传到MU-Plugins目录来启用
  • 必须启用,而无需登录.
  • 在普通插件之前,按字母顺序加载

  • Mu-plugin.这意味着即使它们在全局命名空间中运行挂钩函数,在MU-PLACIN中添加的API钩子将适用于所有其他插件.
  • 此外,请记住,MU-Plugins将在单个和多路面WordPress安装上工作,但将适用于多路网络中的每个站点.

如何更改默认的必须使用插件目录

要手动更改默认目录,您将需要在wp-config.php:

中定义两个常量(WPMU_PLUGIN_DIRWPMU_PLUGIN_URL)

define('WPMU_PLUGIN_DIR', '/full/path/to/new/directory');
define('WPMU_PLUGIN_URL', 'https://URL/to/new/directory');

注意:

  • 如果定义上述常量并且路径无效,WordPress将不会重新定义常量,并且您的MU-PLACINS不会加载.因此,除非您有一个改变默认的MU-Plugins目录的原因,否则我们建议粘贴在WPMU_PLUGIN_DIRWPMU_PLUGIN_URL的默认值.
  • 如果更改默认目录,则必须在包含wp-settings.php文件的行之前在wp-config.php文件中定义这两个常数,因此您将无法使用有用的常数(例如WP_CONTENT_DIR).

何时不使用mu-plugins?

必须使用插件允许您向默认情况下安装的WordPress核心添加功能,但用户可能需要.

但是,如在WordPress文档中所述...

尽管它适用于许多特殊情况,但Mu-Plugins系统并不总是理想的,并且有几个在某些情况下使其不合适的缺点.

文档然后继续列出一些重要的警告以记住:


  • 插件中的必须在Update通知中出现在更新通知中,也不会显示其在插件页面上的更新状态,因此您负责学习和执行您自己的更新.
  • 激活挂钩未在添加到必须使用的插件文件夹中的插件中执行.许多插件使用这些钩子运行安装代码,该安装代码最初和/或卸载在删除插件时清理的代码.根据这些挂钩的插件可能无法在MU-Plugins文件夹中运行,并且在部署到实时站点之前,应在MU-PLUGINS目录中专门专门测试此类所有插件.

注意:WordPress仅在Mu-Plugins目录内部查找右侧的PHP文件,(与普通插件不同)不适用于子目录中的文件.您可能希望在MU-Plugins目录中创建一个代理PHP加载程序文件:

<?php//mu-plugins/load.php
require WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';

用mu-plugins保持简单

mu-plugins应该只用于执行"一个"简单动作.所有时间调用复杂的代码可能导致与其他代码或插件冲突,并在故障排除冲突时涉及mu-plugins作为疑似源,可以真正复杂化.

MU-PLUGINS无法存储在子目录中

另外,请记住,与常规插件不同,您无法将MU-Plugin存储在MU-Plugins目录的子目录中.这意味着默认情况下,您将无法使用文件夹对MU插件进行排序.

您可以通过创建MU-PLUGIN来实现WordPress,以便将WordPress添加到Subdirectories中的MU-Plugins,但由于WordPress默认情况下,它们不会出现在必须在必须使用的插件列表中,因此,您将无法看到子目录中安装了哪个必须使用的插件,而无需查看Mu-Plugins目录本身.

如何在WordPress

中创建和安装MU插件

向您的站点添加必须使用的插件需要三个步骤:

  1. wp-content目录中创建mu-plugins目录(文件夹)
  2. 创建一个mu-plugin php文件
  3. 通过ftp
  4. 上传/安装您网站上的文件

我们创建了一个很好的逐步教程,向您展示了如何在文档部分中的WordPress中安装MU插件.

按照上述教程完成整个过程,或单击下面的链接转到上述步骤之一:

  • 创建一个mu-plugin目录
  • 创建一个mu-plugin
  • 上传/安装一个mu-plugin文件

将这些有用的必须使用插件添加到WordPress Toolbox

警告:我们强烈建议在更改事物或将代码添加到服务器文件之前执行完整备份,以防任何错误.快照使备份和恢复WordPress网站轻而易举!

如果您是WordPress开发人员或管理团队或客户的网站,这里有一些有用的MU插件您可以创建以扩展您的技巧:

1.为所有用户隐藏WordPress管理栏(您)

如果您为您的团队或客户管理网站,或者是您的业务的头部开发人员,您可能想要制作WordPress自定义,只有您只能看到或隐藏所有用户的用户,而不是您肯定人们点击他们不应该的地方.

虽然您可以使用类似Branda的插件自定义管理工具,但您也可以使用代码轻松完成此操作.

对于此示例,假设您是一个站点的唯一超级立体,并希望为所有用户隐藏工具栏,除了自己.

只需使用CSS创建MU-PLACIN并添加以下代码和样式:

<?php
add_action( 'admin_footer', 'hideitems' );
function hideitems() {
   if ( ! is_super_admin() ) {
      echo "<style>
         #wpadminbar {
            display: none !important;
         }
      </style> ";
   }
}

2.隐藏WordPress顶部菜单并创建自定义注销按钮

这是另一个WordPress管理员自定义,您可以为客户做.

假设您希望隐藏或删除客户端站点的管理领域的顶级栏,因为您发现它在那里显示它或觉得提供对WordPress对内容修改菜单的WordPress访问不太了解的客户可能是不方便的导致他们犯了无意中的错误.

例如,如果使用Elementor构建站点,则您的客户可以直接从顶部菜单栏访问Elementor的主题自定义选项.

Add new Elementor template in WordPress toolbar. 用户可以在其WordPress工具栏中添加新的Elementor模板.

与ElementROR为此示例,您可能决定隐藏它以避免问题,并在模板>主题构建器中留下管理区域内的主题自定义路径.或者您可能决定完全删除它,因为即使您从管理栏中禁用选项,某些用户仍可能不明白它是什么以及它在其网站的前端显示它.

隐藏顶部栏非常容易使用像Brybla这样的插件......只是转到管理区域>管理栏,然后取消选中某些用户的工具栏可见性.

问题是,如果您完全禁用此栏,用户将无法从其管理员注销.这不仅创建了安全问题,如果要切换用户也不方便.

幸运的是,有一个解决方案:只需将此代码添加为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.将CSS添加到WordPress后端

如何将CSS添加到WordPress后端?

再次,您可以使用类似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管理员的元素唱机

元素是WordPress的流行和广泛使用的页面构建器之一.如果您是Web开发人员或网站管理员,您可能正在使用Elementor来创建和管理网站及其内容.

与元素一样简单,它仍然需要一些知识来使用它,并且用户无意中错误可以使网站无法导航.

所以,如果您是管理网站的唯一一个,并且用户不需要经常在WordPress中创建页面,您可能希望隐藏其他后端用户的Elementor选项.确保在后端没有修改,没有你的知识将为您提供安心,您的客户或后端用户也可能欣赏有更简单的界面与之合作.

此技巧适用于以下类型的网站:

  • 电子商务网站
  • 具有自定义帖子类型
  • 的网站

  • 网站主要用作发布文章的博客.

如前所述,如果最终用户需要定期创建WordPress页面,这可能无法为您工作,因为它们需要Elementor.

在创建MU-Plugin之前,首先必须在菜单中隐藏元素.然后,您可以隐藏WordPress页面上的Elementor按钮.

1.在菜单中隐藏元素

安装Branda,然后:

  • 转到管理区域>管理栏并将其隐藏为您的最终用户.这样他们就无法从那里访问Elementor Builder.
  • 转到仪表板>管理员菜单>自定义,然后为除了您的Everyals隐藏元素管理员菜单(提示:使用用户角色而不是为每个用户执行此操作而更容易).
  • 记得还隐藏"模板"菜单(这可能是隐藏最关键的事情).

注意:我们建议只有一个人应该能够访问模板,特别是如果使用这些,则建立主题并使用CSS来控制您网站设计的每一项目.这可以防止其他用户在其他地方添加CSS(例如,在构建器,主题自定义程序,样式表等)...上添加代码时不正确地评论.

/* Header customization */
.header{
   margin-top: 10px;
}
/* END Header customization */

2.隐藏WordPress页面上的Elementor按钮

使用元素创建或修改页面的最简单方法只是转到 pages> create ,然后单击Elementor按钮以更改它.

如果您不希望用户根本访问Elementor,则还有一种方法来隐藏此按钮.

要执行此操作,您需要自定义用户角色.如果您是该网站的唯一管理员,您可以为所有人隐藏按钮除了您.

注意:您可以使用上一步仅隐藏Elementor模板(保留您的主题安全),但仍将在Elementor中留下访问以创建和修改页面.但是,这可能是危险的,因为当用户在Elementor页面上时,它们可以导航到像标题或页脚等其他元素,或者访问将影响站点的ElementOrl全局设置.

一旦完成了上面,唯一剩下的事情就是创建一个mu-plugin并粘贴以下代码来隐藏按钮:

<?php
add_action( 'admin_footer', 'hideitems' );

function hideitems() {
   if ( ! is_super_admin() ) {
      ?>
        <style>
            #elementor-switch-mode {
                display: none;
            }
        </style>
      <?php
   }
}

享受!

6.使蜂箱分析您的WordPress Dashboard主页

如果您不是WordPress管理页面的巨大粉丝(即使您可以自定义其小部件和隐藏面板)或者您的用户每次登录其WordPress仪表板时会看到此屏幕...

WordPress Dashboard Screen 外观但不要看......这是你想要的用户可以查看它们何时登录?

为什么不向他们展示一个漂亮的管理员登陆页面,其中包含这样的有用信息?

Beehive Pro Analytics screen oooh...aaah...aaah...aaah...图表和统计信息......这更好!

再次,您可以使用Branda自定义管理面板和左菜单或隐藏/显示菜单,具体取决于用户角色.如果您是唯一的管理员并且希望显示最终用户的最低菜单或添加自定义CSS,这很棒.

如果,只要您要做的就是将用户从WordPress管理页面重定向到更有用的页面,如蜂箱分析页面,然后只需创建一个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-plugins制作wordpress飞行

希望,现在您了解所有关于必须使用的插件:它们是什么,何时和何时不使用它们,以及如何以及在WordPress站点上安装它们.

检查我们的MU-Plugins文档,尝试创建和安装您自己的一些必备插件,如果您遇到任何问题或需要专家帮助,请联系我们的支持团队......我们可以全天候提供24/7才能回答任何问题你拥有的WordPress问题!

贡献者

本文是用:

的合作编写的

Incensy

antoine -激活.我对网络文化和数字解决方案充满热情.我已经在这个地区工作了11年了.始终寻找最佳解决方案,以帮助客户克服数字挑战并在线发展他们的业务.我对数字成功的愿景:获得全球战略,用详细的精度应用,并始终保持改善.

***

注意:我们不接受来自外部来源的文章.然而,WPMU开发成员可能通过博客Xchange为我们的博客上的教程和文章提供思路和建议.

VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/11648.html

6

发表回复