[Laravel 6.x]Route::get()で設定したURLパラメーターの取得
Laravel6.xでRoute::get('/path/to/{id}')で設定したidの取得方法について。
HOME>WEBプログラム覚書>[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑
ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。
ブログのIDを取得したい場合、グローバル変数の $current_blog を使うか、get_blog_id_from_url()を利用する。
$current_blogはstdClassでプロパティは
となっている。マルチサイトをサブドメインベースで構築した場合の結果なのでディレクトリベースの場合とか多少変わってくるかも。 もう一つのget_blog_id_from_url()は引数にドメイン名とディレクトリパスをとれる。
としたいところだがこれはfalseが返る。プロトコルはいらないらしい。
get_bloginfo('id')でとれるようにしてくれないんだろうか。 ちなみに、get_bloginfo()の引数、homeとsiteurlがいつの間にか、DEPRECATEDになっていた。
wp_load_alloptions()を使用します。 で、気になったのがWordPressマルチサイトのパフォーマンス問題 | qnote。
マルチサイトの場合、get_option()がキャッシュを使わずデータベースアクセスしているとの指摘。 まじかよwwwでもWordPressならありえそうと思いつつ問題箇所を見てみる。
ぱっと見た感じキャッシュが使われない気がするのだが、僕の状況(3.3.1の日本語版、サブドメインベースのマルチサイト)ではdefined('WP_INSTALLING')が大抵の場合falseを返す。 じゃあWP_INSTALLINGってどこで定義されてんのかと見てみると、wp_activate.phpとwp-admin/install.phpとwp-admin/setup-config.php、wp-admin/upgrade.php、wp-includes/ms-funtions.phpのwpmu_create_blog()の中。
おそらくWP_INSTALLINGはインストール時とか特定の状況でしか定義されない定数ため、普通のコンテンツページなどはキャッシュが使われるているみたいです。
バージョンによってはWP_INSTALLINGがグローバルに定義されてたり 自分で定義しちゃってたり、僕の環境が特殊だったりするかもしれないので ちゃんとキャッシュ使われてるか確認した方がいいかもしれません。
投稿日 | 2012年1月28日 23:01 |
---|---|
カテゴリ | PHP |
タグ | WordPress | 関数 |
トラックバック URL | http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1261 |
コメント