web-dev-qa-db-ja.com

GUIDを使用するのが悪いのはなぜですか?

私は最近WPバージョンを3.2.xから3.5.xにアップグレードしました。このプロセスでは、画像を取得するWP関数(wp_get_attachment_image_src、get_the_post_thumbnailなど)が壊れています。機能させるためには、これらの関数への呼び出しを変更し、<img src='.$my_post->guid.'>を使用しなければなりませんでした。

しかし、guidを使うのは良くないと人々は私に言った。ただし、値を変更するのではなく、単に値を変更するのではなく、イメージを正しくロードするための他の方法が見つからないためです。 wp_get_attachment_image_srcメソッドは何も返しません。それが変わらないならguidを使うことの何がそんなに悪いのでしょうか?この状況で大丈夫ですか?

1
Edmund

一言で言えば - GUIDは意味のあるデータを保持することを想定しておらず、現時点ではその中のデータが意味を持つという事実は偶然の一致です。

WordPressは、GUIDが何かを意味することをまったく検証しません。もしあなたがそれに頼っているならばそれらは不変のままでいることを保証されていません、そしてそれらがデータとして扱われるならばを必要とする時に変更されません。

私がWP GUIDを使用してきた歴史の中で、後方互換性のない変更に悩まされた(それらのサニタイズ戦略が厳しくされた)非常に稀なものの1つです。

あなたは非常に正確で非常に実用的なアドバイスを得ました - WordPressにGUIDが存在することを忘れてください。そのアドバイスに従ってください。

2
Rarst