使用git开发Wordpress的工作流程-需要覆盖get#uBlogInfo(';wpurl';)
我现在正在使用使用git开发Wordpress的工作流程-需要覆盖get#uBlogInfo(';wpurl';),git,wordpress,Git,Wordpress,我现在正在使用MAMP本地运行wordpress项目。它允许我使用子模块将WP核心文件从主题和插件文件夹中分离出来,这很好。我的wp config有一些额外的条目告诉Wordpress核心文件和主题文件夹的位置: if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/wordpress/'); define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/c
MAMP
本地运行wordpress项目。它允许我使用子模块将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
所以我的主页url是: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');
在幕后打电话,这反过来又打电话。有一个过滤器,site\u url
,可用于更改函数返回的值
有一个示例说明如何添加它。请记住,这将在全球范围内改变它,并可能导致其他问题(当前正在工作的东西可能会开始损坏)。请参阅我的问题的更新。我只需要在插件调用
get_bloginfo('wpurl')
时执行此操作,我不知道如何限制过滤器执行此操作。否则就像你说的,它会破坏网站;这很难看,我不确定所有的含义,但也许在您的过滤器中,您可以检查调用堆栈(例如),看看是否有任何函数是从插件
目录中的文件调用的。看起来很难看是的我不会那么做的。非常难看。我想我只需要更新插件。谢谢