マルチサイト化したWordPressをテーマ外から表示してみた
使えるネタ、知ってても使えないネタ等々あるかと思いますが、WordPressを利用して色々なカスタマイズを行った時に、調べてみた項目をチョコチョコと残しておきます。
今回はWordPressをマルチサイト化した時に、各サイトのデータにアクセスする方法と、テーマ外からWordPressに接続する力技をお送りします。
マルチサイト時に他のブログのデータを取得する
現在表示しているブログとは別のブログの記事を取得する際には、
switch_to_blog($BID);
で、「$BID」に取得したいブログのIDを指定することで、指定したブログのデータを引っ張ることが出来ます。
また、元のブログに戻りたい時は、
restore_current_blog();
を呼び出すことで、戻ることが出来ます。
テーマ外から関数やテンプレートタグを利用する
利用する機会は殆ど無いと思いますが、以前どうしてもテーマ外でWordPress内のデータを取り扱いたかったので調べてみたところ、意外と簡単に実装することが出来ることがわかりました。
参考:WordPressのテンプレートに、Ajaxを利用する | PHPで感じるほんの少しの喜び
参考サイトにあるように「wp-config.php
」を読みこむだけで、後はテーマ外のPHPからでも、the_title();
やthe_content()
等のテンプレートタグや、query_posts();
やget_post_meta();
等の関数を利用することが出来るようになります。
Flashや、Ajax等の通信用のデータとして、自由なフォーマットで一覧を作りたい時等に使えそうです。