[解決済み] WordPressの相対URL
質問
WordPressで、画像、ファイル、リンクなどが相対URLではなく絶対URLで挿入されることにいつも不満を感じています。相対 URL は、ドメイン名の切り替え、http と https 間の変更などにおいてはるかに便利です。今日、WP_CONTENT_URLを相対URLで定義すると、投稿にファイルを挿入するときに絶対URLの代わりに相対URLをsrcに使用することを発見しました。ちょうど私がいつも望んでいたことです! しかし、WordPressの公式ドキュメントによると、投稿にファイルを挿入するときは、相対URLの代わりに 完全なURI を使うべきだと書いてあります。
<ブロッククオートWP_CONTENT_URLを設定します。 フルURI を設定します (末尾に スラッシュがない)、例えば
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
相対 URL を使用すると、すべてうまくいくようです。
define( 'WP_CONTENT_URL', '/my-content-folder');
しかし、相対URIを使うことに何か問題があるのでしょうか?WordPressが完全なURIで定義すべきと述べているのは、何か理由があるに違いないと思っているのですが。
どのように解決するのですか?
これは、コア開発者だけが答えられる/答えるべき質問だと思います。私は調査し、コア チケット #17048 を見つけました。 ブラウザに配信される URL はルート相対であるべきである . このチケットでは、リード・コア開発者の Andrew Nacin 氏が理由を説明しています。また、彼は この [wp-hackers] スレッド . これらのリンクの両方で、WP が相対 URL を使用しない理由についての重要な引用がなされています。
コアチケットです。
ルート相対 URL は本当は適切ではないのです。
/path/
は WordPress ではないかもしれませんし、インストールされていない場所かもしれません。だから、絶対的なURLと大差ないのです。任意の相対 URL は、インストールが移動されたときに変換を実行することを著しく困難にします。ほとんどの状況で find-replace が必要となり、絶対的な URL を持つことは、皮肉にもそのような理由でより移植性が高くなります。
絶対 URL は他の多くの場所で必要とされます。条件付きでこれらを追加する必要があるため、処理に手間がかかるだけでなく、潜在的なバグ (およびプラグインとの非互換性) が発生する可能性があります。
[wp-hackers】スレッド
WordPress はサブディレクトリにあることが多いので、何に対する相対的なものかはわかりません。 つまり、常にコンテンツを処理して、残りのパスを追加する必要があります。これは はオーバーヘッドを導入します。
相対 URL には、先頭のスラッシュがあるものとないものの 2 種類があることを覚えておいてください。 があります。どちらも、これを適切に実装することが不可能な注意事項があります。 を実装することはできません。
WordPress は絶対的な URL を保存する必要があります (そして、実際に保存します)。これは はコンテンツの前処理を必要とせず、オーバーヘッドもなく、曖昧さもありません。もし 再配置する必要がある場合、それはデータベース内のグローバルな検索-置換です。
また、個人的なことですが、テーマやプラグインのコーディングが悪くて、次のような場合に壊れてしまうことが何度もありました。
WP_CONTENT_URL
が定義されていると、単純に壊れてしまうようなテーマやプラグインを見つけたことがあります。
それらは
don't know
を設定し、これを真とすることができる。
WP.URL/wp-content/WhatEver
というように、常にそうであるとは限りません。そして、途中で何かが壊れるでしょう。
プラグイン
相対URL
(リンク先
を
の回答
を含む) に、関数を適用します。
wp_make_link_relative
の中に
アクションフックにある一連のフィルタ
template_redirect
. これは非常にシンプルなコードで、良いオプションだと思います。
関連
-
[解決済み] wp_dequeue_style が動作していないようです。
-
[解決済み] WordPress: wp_create_nonce() がカスタムプラグインの内部に値を作成しない。
-
[解決済み] Wordpressのプラグインディレクトリを取得する
-
[解決済み] WordPressのバージョンを確認するにはどうすればよいですか?
-
[解決済み] WordPressがプラグインをインストールするためにFTPの認証情報を要求してくる
-
[解決済み] WordPressで現在のページ名を取得するにはどうすればよいですか?
-
[解決済み] WordPressのapply_filters(...)って実際どうなの?
-
[解決済み] WordPressの相対URL
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン