[未解決] wp-contentを変更している環境でプラグインを有効化できない
-
投稿者投稿
-
2012年9月28日 7:55 AM #51893kazz参加者
動作に関するご質問の場合は必ずご記入ください。
WordPress のバージョン:3.4.2
Welcart のバージョン:1.2.0
ご利用のテーマ:
症状を確認したブラウザ:IE9
サーバー(会社名、サービス名):
SSLの利用: 無し
WordPress のパーマリンク設定:デフォルト
wp-config.phpでWP_CONTENT_DIRとWP_CONTENT_URLを定義してwp-contentディレクトリを標準以外の場所に移動(or リネーム)している環境だとWelcartをインストール後有効化しようとしたときにエラーが発生して有効化できません。
usc-e-shop.phpの20、21行目
define('USCES_WP_CONTENT_DIR', ABSPATH . 'wp-content');
define('USCES_WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
を
if (defined('WP_CONTENT_DIR')) {
define('USCES_WP_CONTENT_DIR', WP_CONTENT_DIR);
} else {
define('USCES_WP_CONTENT_DIR', ABSPATH . 'wp-content');
}
if (defined('WP_CONTENT_URL')) {
define('USCES_WP_CONTENT_URL', WP_CONTENT_URL);
} else {
define('USCES_WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
}
のように修正したところ有効化できるようになり、一応正常に動作しているようですが
これが正しいのかわかりません。
2012年10月1日 2:34 AM #65607nanbuキーマスターこんにちは。
ご指摘の通りで大丈夫だと思います。本体の方も修正したいと思います。
ありがとうございます。
2012年10月1日 4:29 AM #65608kazz参加者返信ありがとうございます。
もう少し調べたところ
classes/usceshop.class.php
includes/edit-form-advanced.php
includes/edit-form-advanced30.php
includes/edit-form-advanced34.php
languages/usces-ja.mo
languages/usces-ja.po
theme/welcart_default/languages/ja.mo
theme/welcart_default/languages/ja.po
の中にも’wp-content’が決め打ちになっているところがあるようです。
併せてご確認ください。
2012年10月1日 8:34 PM #65609nanbuキーマスターちょっと調べてみたのですが、WordPressがWP_CONTENT_DIRをdefineしているファイルはwp-load.phpの他いくつかあるようですが、いずれもリテラルで’wp-content’が指定されているようです。
特にフィルター等で変更できるようにはなっていないように見えますが、お手数でなければwp-contentのフォルダ名を変えることの有効性を教えていただけますでしょうか。
2012年10月2日 6:31 AM #65610kazz参加者おそらくwp-load.php等でWP_CONTENT_DIRがdefineされているのはwp-configでWP_CONTENT_DIRがdefineされていない場合(既定)のための初期値としての意味合いではないかと思います。
wp-contentのフォルダ名を変えるというのはセキュリティ的な意味合いで語られていることが多いと思います。
有名なところでは
簡単な作業でWordPressのセキュリティをアップするチップス
といった翻訳記事で紹介されています。
またセキュリティプラグイン「Better WP Security」などではwp-contentディレクトリをリネームする機能が提供されていたりもします。
ただここのような議論もあり確かにセキュリティアップにつながるかは疑問のあるところです。
この中で言われているように他CMSからURLを維持したままコンテンツを移行するための機能という方が説得力があると思います。
ちなみにwordpressのマニュアルではバージョン2.6以降でwp-content ディレクトリの移動が可能になったとの記述があります。
2012年10月2日 9:35 AM #65611nanbuキーマスターおそらくwp-load.php等でWP_CONTENT_DIRがdefineされているのはwp-configでWP_CONTENT_DIRがdefineされていない場合(既定)のための初期値としての意味合いではないかと思います。
なるほど。wp-configでdefineを先取りしてしまうということですね。
了解です。いろんなところを修正しなくてはいけないので少し時間をいただきたいと思います。よろしくお願いいたします。
2013年3月26日 4:18 PM #65612hashimoto参加者この件について、対応を行いましたのでパッチを投稿致します。
チケット: https://www.welcart.com/development/mantisbt/view.php?id=581
SSL有効時のcssとcontents_link のURL生成部に、強引な実装があります。(9-13, 32-38行目)
これは、サブディレクトリ化にインストールしたWPに対応するための処理です。
2013年3月26日 4:26 PM #65613hashimoto参加者mime type で弾かれてしまったので、パッチのURLを書いておきます。
https://dl.dropbox.com/u/13400853/fix_wp-content_path.patch.txt
version: usc-e-shop.1.3.zip
wordpress: 3.5.1
2013年3月31日 12:26 AM #65614nanbuキーマスターhashimotoさん
パッチのご提供ありがとうございます!
行き当たりばったりで指定されていたパスもこれですっきりしました。
一通り動作を検証して、問題なければリリースしたいと思います。
ありがとうございました。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。