felixarntz/felixarntz-mu-plugins

我收集的MU插件集合,以单个文件的形式存放在子目录中,可全面配置且易于维护,允许自动更新。

安装: 33

依赖关系: 0

建议者: 0

安全: 0

星星: 116

关注者: 6

分支: 10

开放性问题: 0

类型:wordpress-muplugin

1.3.0 2024-07-28 22:06 UTC

This package is auto-updated.

Last update: 2024-08-28 22:25:01 UTC


README

我收集的MU插件集合,以单个文件的形式存放在子目录中,可全面配置且易于维护,允许自动更新。 了解更多关于MU插件的信息。

  1. 上下文
  2. 项目结构
  3. 快速入门
  4. 包含的功能
  5. 替代用法
  6. 许可协议

上下文

我已经在我的个人网站上使用MU插件多年,我认为有些人可能也会觉得它们很有用。我知道一些个人和公司已经开源了一些他们的MU插件,但我希望更进一步,使它们可以在我的特定网站需求之外真正可重用。

通过这个存储库,我想出了一个方法,允许您以自定义它们并对其进行更新的方式使用我的任何MU插件,而不必每次都手动复制文件。

项目结构

从高层次来看,该项目由三个组件组成

  • 单个MU插件文件 felixarntz-mu-plugins/*.php,其中每个文件都针对一个独立的功能。
  • 一些共享工具文件 felixarntz-mu-plugins/shared/*.php,这些文件被一些单个MU插件文件使用。
  • 总体加载器文件 felixarntz-mu-plugins.php,它加载并配置您想要使用的单个MU插件文件。

快速入门

安装

根据您的需求和灵活性,有几种不同的方法可以使用此项目。无论如何,该项目需要放置在您的 wp-content/mu-plugins 目录中。如果您还没有这样的目录,您可以简单地创建它。

如果您使用 Composer 来管理您站点的依赖关系

composer require felixarntz/felixarntz-mu-plugins

否则,您可以克隆存储库

git clone https://github.com/felixarntz/felixarntz-mu-plugins.git wp-content/mu-plugins/felixarntz-mu-plugins

或者,如果您更喜欢完全手动操作,您可以下载存储库的ZIP文件并将其提取到您的 wp-content/mu-plugins 目录中。

安装项目后,您需要将 wp-content/mu-plugins/felixarntz-mu-plugins/felixarntz-mu-plugins.php 文件复制到一级目录,即到 wp-content/mu-plugins/felixarntz-mu-plugins.php。之后,您需要编辑该文件的副本,特别是 Loader::FILES_DIR 常量,将其指向包含单个MU插件文件的 felixarntz-mu-plugins 目录的正确位置。您还应该编辑该文件以自定义您想要加载的功能并对其进行配置(参见下一节)。

配置

该项目包括许多功能、增强和调整,其中一些比其他更具观点性。您肯定希望自定义您网站加载的功能及其配置。您可以通过调整自己的加载器文件 wp-content/mu-plugins/felixarntz-mu-plugins.php 来实现这一点。

文件中的类包含两个数组,旨在进行修改

  • Loader::files_allowlist() 方法返回的索引数组应包含应加载的MU插件PHP文件名(即功能)列表。
  • Loader::config() 方法返回的关联数组应包含您对功能的偏好配置。

两种方法最初都包含了所有可用的MU插件文件和配置变量,这样就可以很容易地看到有哪些可用。由于数组是由方法返回的,所以可以自由地使用简单的条件逻辑来上下文设置不同的配置。例如,如果您在WordPress多站项目中使用此项目,可以根据访问的是哪个站点返回不同的数组(get_site())。

请参阅类的内联文档以获取有关如何进行这些修改的更多信息。

更新

稍后应用项目的更新时,如果您使用Composer,只需执行简单的composer update即可。否则,您需要将最新版本更新到wp-content/mu-plugins/felixarntz-mu-plugins目录中,可以通过在目录内执行git pull或下载最新的ZIP文件并将其内容替换目录来实现。

包含的功能

每个功能都在单个MU插件文件中实现。请注意,这些功能在观点上的确各不相同,所以请根据个人喜好使用和调整。即使我自己也不在每一个网站上使用所有这些功能,所以我鼓励您挑选和选择适合您自己的功能。

以下表格列出了此项目中所有可用的功能,按功能类型分组。

管理UI增强

块编辑器修改

禁用核心功能

wp_head清理

性能优化

杂项

替代用法

建议您使用上面快速入门部分中的方法,在您的wp-content/mu-plugins文件夹中为项目安装自己的目录,然后将项目上一级的felixarntz-mu-plugins.php文件复制到该目录。这样做有多种好处

  • 您可以在任何时候通过替换目录的新版本来应用项目的更新。
  • 您可以通过复制的wp-content/mu-plugins/felixarntz-mu-plugins.php文件来自定义配置,而无需在更新时丢失这些自定义。
  • (可选)如果您使用Composer管理网站依赖项,您可以通过在composer.json文件中包含项目来自动处理更新。

或者,您可以将felixarntz-mu-plugins目录以及项目的felixarntz-mu-plugins.php文件直接放入您的wp-content/mu-plugins文件夹。虽然这种方法仍然允许您更新和自定义,但因为它需要手动仅替换项目中的felixarntz-mu-plugins目录,所以使得整个过程更加复杂,以免覆盖对felixarntz-mu-plugins.php文件的个性化修改。最后但同样重要的是,这种方法如果需要使用Composer更新项目则不可行。因此,这种方法没有优势。

如果您不想使用整个项目,也可以从felixarntz-mu-plugins目录中挑选个别文件,以及felixarntz-mu-plugins/shared目录,并将它们直接放入您的wp-content/mu-plugins文件夹。然而,这种方法不推荐使用。如果您只需要几个功能,这看起来可能是一个轻量级的解决方案,但它实际上会使维护变得更加复杂,没有任何好处,除非您永远不计划更新这些文件。项目只会加载您想要加载的文件,所以包含您不需要的功能的文件本身并不对内存或性能产生显著影响。

许可协议

此插件为免费软件,并根据GNU通用公共许可证第2版或(根据您的选择)任何后续版本发布。有关完整许可证,请参阅许可证