web-dev-qa-db-ja.com

データベースに `siteurl`を保存する目的は何ですか?

WordPressがなぜ 'siteurl'と 'home'をデータベースに保存するのですか?

ローカルに開発し、ステージングサイトに、そして本番サイトに展開するので、私は頭がおかしくなります。そのため、これらの値をすべて置き換えるには、データベースを2〜3回実行する必要があります。サイトの実行元のURLからこの値を取得できるだけでは、この値を格納するのはちょっと遅いように思えます。

変更を展開するたびに検索や置換をする必要がない、いくつかの解決策が大好きです。私は文字通り私が使っている他のすべてのシステムのように、ファイルとデータベースだけをコピーしてそれを動作させることができるようにしたいのです。 (Drupal、Laravel、Rails)

1
Goldentoa11

複数の環境に言及しているので、あなたは手動で あなたのwp-config.php ファイルの中にサイトURLを定義することができます

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_Host'] . '/path/to/wordpress');
define('WP_HOME', 'http://' . $_SERVER['HTTP_Host'] . '/path/to/wordpress');

それはあなたがあなたのオプションテーブルに設定したものを上書きするということを覚えておいてください。ドキュメントに詳述されているように:

Wp-login.phpを使用してログインすると、wp-config.phpでこの値を設定すると、siteurlのwp_optionsテーブルの値が上書きされ、Administration> Settings> GeneralパネルのWordPressアドレス(URL)フィールドが上書きされます。それはあなたのホームURLをnot更新します。

2
codearachnid