マルチサイト化したWordPressをテーマ外から表示してみた

使えるネタ、知ってても使えないネタ等々あるかと思いますが、WordPressを利用して色々なカスタマイズを行った時に、調べてみた項目をチョコチョコと残しておきます。

今回はWordPressをマルチサイト化した時に、各サイトのデータにアクセスする方法と、テーマ外からWordPressに接続する力技をお送りします。

マルチサイト時に他のブログのデータを取得する

現在表示しているブログとは別のブログの記事を取得する際には、

1
switch_to_blog($BID);

で、「$BID」に取得したいブログのIDを指定することで、指定したブログのデータを引っ張ることが出来ます。

また、元のブログに戻りたい時は、

1
restore_current_blog();

を呼び出すことで、戻ることが出来ます。

テーマ外から関数やテンプレートタグを利用する

利用する機会は殆ど無いと思いますが、以前どうしてもテーマ外でWordPress内のデータを取り扱いたかったので調べてみたところ、意外と簡単に実装することが出来ることがわかりました。

参考:WordPressのテンプレートに、Ajaxを利用する | PHPで感じるほんの少しの喜び

参考サイトにあるように「wp-config.php」を読みこむだけで、後はテーマ外のPHPからでも、the_title();the_content()等のテンプレートタグや、query_posts();get_post_meta();等の関数を利用することが出来るようになります。

Flashや、Ajax等の通信用のデータとして、自由なフォーマットで一覧を作りたい時等に使えそうです。

Author: SUSH
Link: http://blog.sus-happy.net/out_of_wordpress/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.