質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

4104閲覧

wordpressの仕組みについて

nao5151

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

1クリップ

投稿2016/04/22 12:52

編集2016/04/22 15:57

wordpressのパスが変わる仕組みに関して質問があります。

データベースのwp_postsテーブルのguidに、
記事のurlやパスが保存されていると思うのですが、
ドメインを変更した時も、データベースのguidは変わりません。
しかし、記事や画像はしっかり表示されているので、どこかで変更してくれていると想像しているのですが、
パスを変更してくれているコードや、ファイルがわかりません。

そこが分かれば今抱えている問題の原因を追究できるかもしれないので、知っている人がいれば、ぜひ教えてください!
よろしくお願いします!


追記

前の人のローカル環境から自分のローカル環境、
そしてテスト環境へ移行してきた時に、
テスト環境へ移行した時にのみ、画像だけ表示されないことがありました。
その時、管理画面のメディアで画像パスを確認するとguidと同じでした。(guidには3種類のドメインから始まるデータがはいっています。自分のローカルのドメインと、自分以前の人がいじっていた時のドメイン2種で、自分のローカル環境の時には画像をアップしていません)

移行した時に、管理画面のメディアから画像パスを確認したらどのようになっていれば正常なのでしょうか?
guidと同じか、環境のドメインと同じパスで最初から画像が表示される状態どちらが正解か分かっていません。

移行した時にメディアから見る画像パスがguidと同じ状態にする方法があればそれも知りたいです。

Wordpress👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

GUID というのは、ソフトウェアを識別するための一意な値です。その WordPress に載せた記事を特定する識別子の生成に、この wp_posts の guid が使われているようです。たとえば、nao5151 さんの管理している WordPress の読者がいて、フィードを取得していたとします。そのときの記事の識別子を見て、既読かどうかをチェックするわけです。もし、ドメインの引っ越しで WordPress の各記事の URL が変わってしまっても、識別子が一緒であれば同じ記事だと判断できます。逆に言うと、wp_posts の guid を変更してしまうと、読者のほうで既読としていた記事がすべて未読と判断されてしまいます(記事の識別子が変わってしまうので)。
というわけで、ドメインを変更しても、guid は変更されませんし、それが正しい動作です。

ご質問の内容が今ひとつわからないのですが、次のページは参考になりますか。
サイト URL の変更 - WordPress Codex 日本語版

投稿2016/04/22 14:12

unau

総合スコア2468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nao5151

2016/04/22 16:24

回答ありがとうございます! guidがurlでないことは理解できました! 見かけで判断してしまいました。
guest

0

ベストアンサー

ドメイン移転時のDBに格納されているURLの処理についてですね。
下記サイトの「MySQLのドメイン書き換え」の項目が参考になります。

【ドメイン変更を伴うWordPressサイトのサーバー移転方法 - WordPressの使い方と設定 - Webkaru】
http://webkaru.net/wordpress/move-site-to-new-url/


記事や画像はしっかり表示されている

WordPressは記事のURLをwp_postsテーブルに保存しているのではなく、URLから表示すべき記事を探し出すというプロセスを取っています。なので、記事の表示に直接は問題が出にくいと思います。
DB内のURLを適切に書き換えない場合、記事を書く際に別記事へのリンクを自分で挿入した場合や、一部プラグインの挙動に問題が出る可能性があります。


guid

これは、パスを保存しているわけではなく、「一意のID」として使用されています。主にフィードでの識別に使用されますが、ここを安易に変更すると「似た別の記事(コピーコンテンツ)」と認識されてしまう恐れがあります。

【WordPressを移動するには(10)GUIDカラム内の設定値の変更について: コツコツ学ぶWordPress、技術メモ】
http://hono-wp.seesaa.net/article/379577563.html

"guid"は、"Globally Unique Identifier"の略で、各投稿をグローバルに一意に識別するために、グローバルで一意であるサイトURLを使っています。



追記:

まず1点私が勘違いしている箇所がありましたので、お詫びします。

guidは関係有りません。それを使って表示している箇所は無いはずです。

「画像」を公開サイトに表示することに使っている箇所はWPコアには無いと思われますが、管理画面内では有るようです。下記サイトにもメディアライブラリのリンク切れ話が載っています。
私の回答一番上のリンク先で紹介されているツールを使うとこういったリンク問題が解消されると思います。

【WordPressのデータベースを直接書き換えて画像のリンク切れを解消した話 - shuto_log.aep】
http://shutosg.hatenadiary.com/entry/2015/12/01/130934

WordPress で画像を保存する際に、各種画像情報は記事と同じテーブルである「wp_postsテーブル」に保存されます。そのテーブルに登録する関数に guid を生成するものも含まれ、それがURLを基準としたものになっており、画像の場合は画像のパスになるという仕組みです。
ただ、記事ページを生成する際には相対パスを保持した「wp_postmetaテーブル」から呼ばれるため、公開サイト上は(画像さえFTPでアップしていれば)問題なく表示されることになります。

【wordpressで画像はどのようにデータベースに記録されているか | hellooooworld.com】
http://hellooooworld.com/wordpressで画像はどのようにデータベースに記録されて/

WPのコア側で「guid」を使ったURL生成は "根本的に間違っている" (wp_postmetaテーブルから呼び出すべき)ため、バージョンアップのときにバグフィックスされた可能性があり、「再現実験」がうまくいかなかったという可能性くらいが私の考えられる限界かなと思います。

長々と、あまり役に立たない迂回をさせてしまって申し訳ない。

投稿2016/04/22 14:08

編集2016/04/22 16:53
kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/04/22 15:30

追記があったので、それに一言。 > データベースのguidと同じだったため見れないようでした guidは関係有りません。それを使って表示している箇所は無いはずです。 WordPressはサイトアドレスを保存する項目があり、そこを変更しない限り移転前のURLになります。 【WordPressアドレス(URL)とサイトアドレス(URL)を別にする方法 | weluka team blog】 https://www.weluka.me/blog/archives/1045
nao5151

2016/04/22 16:21 編集

回答ありがとうございます! 説明のおかげでguidをurlやパスだと思っていたのですが、そうではないことを理解できました! しかし、なぜメディアから確認した画像パスのドメイン部分がサイトドメインと違くなってしまったのかがスッキリしません。 サイトurlとwordpressのurlを異なる設定にしたこともありません。
nao5151

2016/04/22 16:25

wordpressではなく、環境などに原因があるのかもしれないですね。
kei344

2016/04/22 16:53

追記しました。
nao5151

2016/04/22 22:54

回答ありがとうございました! 自分の質問、説明がうまくできなかったと思います。 kei344さんの回答で新しい知識を増やすことができたので、 とても嬉しいです! ありがとうございます!
guest

0

開発側と仲良くなれば良い。

投稿2016/04/23 12:05

KatsukiSugiura

総合スコア335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問