web-dev-qa-db-ja.com

WP_PLUGIN_DIR定義がDIRECTORY_SEPARATORを使用しないのはなぜですか?

プラグインをバックアップするコードを書いている間に、私は私のwindows dev環境で '間違った種類のディレクトリスラッシュ'の問題にぶつかりました。

それを追跡すると、default-constants.phpにあります。

define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );

これはdefault-constants.phpの以下の内容に基づいています。

define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );

したがって、設定ファイルの定義に...

define('ABSPATH', dirname(__FILE__) . '/');

だから私の質問は:

Q. ABSPATHとWP_CONTENT_DIRの両方が、PHP固有のDIRECTORY_SEPARATORではなく明示的なスラッシュを使用して定義されている(つまり、URLに対して解釈できない)のはなぜですか。

2
Dave Amphlett

スラッシュは、PHPでサポートされているすべてのオペレーティングシステムで機能します。はい、Windowsでも同様です。また、読みやすく、入力しやすいため、定数を使用する必要はありません。

Tracに関する議論については、チケット #20849#15598 をご覧ください。

5
fuxia

これは定数です。文字列だけです。セパレータには/ [PHP定数を使用します。また、これはWordPressです、違うのは馬鹿です;-)

1
bueltge