0

を使用してローカルで実行している現在のワードプレス プロジェクトでは、この git ワークフローMAMPを使用します。サブモジュールを使用して、WP コア ファイルをテーマおよびプラグイン フォルダーから分離することができます。これは素晴らしいことです。コア ファイルの場所とテーマ フォルダーの場所を Wordpress に伝えるためのwp-config追加のエントリがいくつかあります。

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');
4

1 に答える 1

0

get_bloginfo('wpurl')site_url()が舞台裏で呼び出し、次に が呼び出されますget_site_url()。 には、関数によって返される値を変更するために使用できるget_site_url()フィルタ があります。site_url

この回答には、追加方法の例があります。それはグローバルに変更され、他の問題を引き起こす可能性があることに注意してください (現在動作しているものが壊れ始める可能性があります)。

于 2013-07-24T19:45:33.000 に答える