回答:
はい、そうですね。ときにget_option
呼び出しが行われ、WordPressは呼び出された関数に実行wp_load_alloptions
キャッシュにすべての自動ロードオプションまたは負荷のキャッシュされたコピーすべてのこれらのオプションをつかむのいずれか、。次にwp_load_alloptions
、自動ロードされたすべてのオプションの配列を返します。オプションが自動ロードされている場合(add_option
関数の使用時に指定されている場合)、この配列の一部となり、返されます。
オプションが自動的にロードされない場合、WordPressはそのオプション専用のキャッシュを検索し、値がある場合は値を返します。それが失敗した場合、最後のフォールバックはデータベースに移動し、値を取得し、キャッシュに設定してから返すことです。
最後に、オプションがまったく見つからない場合(たとえば、オプション名が無効だった場合)、WordPressはそのオプションの名前をという名前のキャッシュされた配列に保存しますnotoptions
。非オプションへの後続の呼び出しが行われた場合、WPは最初にnotoptions配列をチェックするため、存在しないもののチェックに時間を浪費しません。
get_option
ページの読み込みごとに複数回呼び出すことを心配している場合は、気にしないでください。WordPressはget_option
、オートロードされているかどうかに関係なく、最初の呼び出し後にオプション値をキャッシュします。
何が起こっているのかを知るには、ソースをget_option
チェックしてください。
いや、
autoloadをtrueに設定してロードされたオプションのみ
http://codex.wordpress.org/Function_Reference/add_optionを参照してください
したがって、すべてのページで必要なオプションである場合、dbに追加するときにautoload = trueを設定します。
その後、通常get_optionを使用します-wpはキャッシュなどを処理します。
はい、
autoloadをyes / trueに設定する必要はありません。デフォルトではyesに設定されています:http : //codex.wordpress.org/Function_Reference/add_option-最後の関数パラメーター($ autoload):
このオプションは、wp_load_alloptions()関数によって自動的にロードされる必要があります(ページのロードごとにオブジェクトキャッシュにオプションを入れます)?有効な値:yesまたはno。デフォルト:yes
ただし、noに設定すると、オプションはキャッシュに入れられません。