私はautoload
テーブルのoptions
カラムで遊んでいます。オートロードされた値がどのように使用されているかについて、私はあまり情報を見つけませんでした。私はprint_r($GLOBALS)
を試しました、そして、オートロードされたオプションが$GLOBALS['wp_object_cache']->cache['options']['alloptions']
に格納されるのを見ました。
これらの変数にアクセスする別の方法はありますか?
自動ロードに設定されたオプションmy_option
に異なるテンプレートで複数回アクセスする必要があるとします(例:header.php
に1回、footer.php
に1回など)、どの方法をお勧めしますか?
$GLOBALS
配列から取得しても大丈夫ですか(値は既に存在するため)get_option('my_option')
を一度使用し、変数をグローバル化する必要があります 再び get_option('my_option')
を使用します(これで私はやることがわかりません)。オートロードされた値がどのように使用されているかについて、私はあまり情報を見つけられませんでした。
オートロードされたオプションには特別な場合はありません。それらは他の通常のオプションと同じように使用されますが、autoload
テーブルのoptions
列が何を意味するのかを理解させます。この列は、リクエストの初期化段階でオプションを取得する必要があるかどうか、またはオンデマンドでのみオプションを取得する必要があるかどうかを決定します。
しかし、このオートロードが行われたとき、それはどのような機能を果たしますか?すべての autoload オプションは、wp_load_alloptions
関数によってロードおよびキャッシュされます。これは、各HTTP要求の開始時にis_blog_installed
関数によって呼び出され、WPによって処理されます。
要約すると、自動ロードオプションも同じオプションですが、WPによるHTTP要求処理の最初にロードされます。
オプションにアクセスする必要があるとします。どの方法が推奨されますか?
$GLOBALS
から取得するのは悪い方法です。代わりにget_option
を使用してください。毎回get_option
関数を使用するのが最善の選択なのはなぜですか?なぜなら
option_optionname
filterをフックすることによってあなたのオプションをフックすることを可能にします。