如何从安装在同一服务器上的不同WordPress调用函数?

时间:2017-01-01 作者:Jeronimo

是否有方法从同一服务器上多个已安装站点的默认位置调用函数?

For example:

\\public_html\\functions\\global_functions.php 具有所有站点的共享功能。

\\public_html\\site1\\wp-content\\themes\\theme1_child\\functions.php 
require_once( dirname(__FILE__) . \'../../../../global_functions.php\'); 

\\public_html\\site2\\wp-content\\themes\\theme1_child\\functions.php 
require_once( dirname(__FILE__) . \'../../../../global_functions.php\'); 
我知道这是不对的,但我不确定这样做是否可行。由于它位于同一台服务器上,我不知道是否有办法查看当前安装点上方的其他目录。

<小时>

After continuing to play with this, I ended up doing it this way:

define ( \'global_functions_dir\', dirname(__FILE__) . \'../../../../../_functions\' );

require_once( global_functions_dir . \'/global-functions.php\');
可以在每个站点上添加,以包含必要的功能。如果有人知道这样做是否有任何安全风险,请告诉我。由于这是一个服务器端调用,我认为这很好??

我已经开始阅读多站点配置,这可能是实现这一点的一个很好的方法。在我对这样做可能产生的问题有了更好的理解之后,我将考虑朝着这个方向前进。谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:Michael Ecklund 整理而成

您的包含路径不正确。

您有:

require_once( dirname(__FILE__) . \'../../../../global_functions.php\');

应在何时:

require_once( dirname(__FILE__) . \'../../../../functions/global_functions.php\');


另一种选择是将您的设置从WordPress的单独安装更改为WordPress Multi-site.

You would then have a couple of options:

<选项1是Must-Use Plugin.Plugin (在网络范围内激活)选项3是一个标准插件(根据每个站点激活)option #1 (必须使用插件)。这将激活网络中每个站点的插件,并且不能通过用户界面停用或删除插件。这保证了代码在任何时候都可用于网络中的所有站点。

Option #2 很好,因为它与option #1, 除非您想对可能导致问题的原因进行故障排除,否则只需在管理用户界面中单击即可轻松激活或停用该功能。

Option #3 有点多才多艺。您可以根据每个站点激活插件。也许您需要管理三个站点,但其中只有两个需要该功能。然后你可以在这两个网站上激活它,而不是在第三个网站上。

无论哪种方式,无论您选择哪个选项(与WordPress多站点相关),您只需在一个地方管理功能,而多个站点可以共享和使用该功能。

相关推荐

WordPress MultiSite无法在网络中创建新站点

我已经设置了WP multisite,在WP config和WP config中完成了所有需要的修改。htaccess文件。现在,当我尝试在网络中创建新站点时,我在我的管理员帐户电子邮件收件箱中收到一封电子邮件通知,但是Wordpress不会将任何文件复制到新位置。路径为空(DA自动创建的index.html除外)。此外,当我尝试访问后端时,我得到的错误是500而不是404。该网站已足够旧,只能使用子域选项。已在DirectAdmin中创建子域。它与当前WP安装中的其他目录具有相同的访问权限(755)。我