在本文中,我将向您展示一种在多个 WordPress 安装中共享一个插件或主题实例的好方法-symlinks。
什么是 Symlink
Symlink(符号链接或符号链接)是一种特殊文件,实际上是对另一个文件或文件夹的引用。如果你是 Windows 用户,你可能已经使用过桌面快捷方式,这也是一种符号链接,因为它们指向系统中其他地方的文件。
对我们来说,关键在于它们也可以指向文件夹。从 WordPress 3.9 开始,插件和主题都可以使用符号链接,这样我们就可以将它们存储在其他地方,并连接到我们的安装程序。
Symlink 常用案例
假设您在本地主机上设置了一个根目录。其中的每个目录都是一个单独的 WordPress 安装。通常情况下,您会在所有目录中安装新插件。如果在其中一个目录中发现错误,就需要在所有目录中进行更改,这将导致整个过程漫长且容易出错。
有了 symlinks,您就可以将插件和主题保存在一个单独的文件夹中,并使用 symlinks 将其指向您的每个安装。每个安装都使用相同的文件,这让修改和维护变得轻而易举。
如果您在同一台服务器上有多个域名,也可以使用同样的方法。只要你的网站文件占用相同的文件系统,而且你的环境允许使用符号链接(大多数环境都允许),你就可以使用这种方法。
我最喜欢用这种方法处理 Github 仓库中的主题和插件。我更喜欢使用 git 作为我的版本控制系统,而且我的项目结构会将实际的主题/插件放在一个子目录中。
这意味着我不能使用 wp-content 文件夹中的原文件夹。通常情况下,我必须手动将更改复制粘贴到 repo 中,或更改 repo 的结构。有了符号链接,我只需将我需要的文件夹进行符号链接即可。
创建 Symlink
在 Windows 和基于 Linux 的系统(如 OSX)上,创建符号链接的过程是相同的,但语法略有不同。创建时,你需要指定符号链接的位置和目标。
在我们的例子中,符号链接的位置是主题或插件目录下的一个文件夹。目标将指向包含实际插件/主题文件的目录。
让我们来看一个例子,在这个例子中,我们将使用符号链接来链接到一个单独文件夹中的插件。在示例中,我们的项目根目录包含多个 WordPress 安装和一个包含插件和主题的项目目录。
Windows上的Symlinks
假设我们网站项目的根目录位于 C:/websites。您需要打开命令提示符并导航到 WordPress 安装的插件文件夹,然后在该文件夹中发出以下命令:
mklink C:websitesprojectsmy-plugin-githubmy-plugintrunk my-plugin
该命令将在你的插件文件夹中创建一个 my-plugin
文件夹,该文件夹将指向 C:websitesprojectsmy-plugin-githubmy-plugintrunk
文件夹。在加载插件列表和处理代码时,WordPress 将遵循此符号链接,使其看起来就像你有一个普通的插件。
OSX和Linux上的Symlinks
假设我们网站项目的根目录是 /Users/danielpataki/websites。您需要打开终端并导航到 WordPress 安装的插件文件夹,然后在该文件夹中发出以下命令:
ln -s /Users/danielpataki/websites/projects/my-plugin-github/my-plugin/trunk my-plugin
此命令将在插件文件夹中创建 my-plugin
文件夹,该文件夹将指向 /Users/danielpataki/websites/projects/my-plugin-github/my-plugin/trunk
文件夹。在加载插件列表和处理代码时,WordPress 将遵循此符号链接,使其看起来像您拥有一个普通插件。
小结
您可以在同一系统上的所有 WordPress 项目中根据需要重复这一过程。最后,您的所有安装都将使用相同的文件,因此您只需修复一次错误,就可以看到它从所有 WordPress 安装中消失。
我在日常编程中经常使用这种方法。如果你也这样做,而且你有一些小窍门,或者你有更好的方法,请在下面的评论中告诉我们!