我正在为我在本地运行的当前 wordpress 项目使用这个 git 工作流MAMP
。它允许我使用子模块将 WP 核心文件与主题和插件文件夹分开,这很棒。我wp-config
有一些额外的条目来告诉 Wordpress 核心文件在哪里以及主题文件夹在哪里:
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/wordpress/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/core');
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/core/wordpress');
define('WP_CONTENT_DIR', realpath(ABSPATH . '../wp-content/'));
define('WP_CONTENT_URL', WP_HOME . '/wp-content');
define('UPLOADS', '../wp-content/uploads');
我的站点根目录结构如下:
-wordpress (contains core files)
-wp-content
-themes
-plugins
-uploads
-wp-config.php
所以我的主页是:http://localhost:8888/core/
我遇到的所有问题都与插件有关。其中一些get_bloginfo('wpurl')
用于加载资产。因此,一个示例如下所示:
http://localhost:8888/core/wordpress/wp-content/plugins/{PLUGIN}/images/{PLUGIN_IMAGE}.png
它实际上应该在哪里:
http://localhost:8888/core/wp-content/plugins/{PLUGIN}/images/{PLUGIN_IMAGE}.png
我可以在不单独修改插件的情况下以某种方式覆盖它吗?
更新
这可行,但我需要将其限制为仅在调用插件时:
function alter_site_url($url) {
return str_replace('/core/wordpress', '/core', $url);
}
add_filter('site_url', 'alter_site_url');