WordPress(ワードプレス)でホームページを作りたい、カスタムしたいという人のためのサイトです。

WordPressのマルチサイトをポータルサイトとして活用するテンプレートタグ「switch_to_blog」

TOP > テンプレートタグ > WordPressのマルチサイトをポータルサイトとして活用するテンプレートタグ「switch_to_blog」

昨日書いたこの記事「WordPressでマルチサイトの各サイトの新着情報を表示させる方法」でもマルチサイトの親サイトをポータルサイトのように各子サイトの情報を表示する事はできるんですが、functions.phpをいじったりと結構めんどくさくはあったのでもうちょっと簡単にできる方法はないものかと色々探してもう少し簡単な方法を見つけました。

以下がその内容です。

テンプレートタグ「switch_to_blog」の使い方

ID7の子サイトの新着5件分の表示をするという前提です。
以下のような感じ。

<?php switch_to_blog(7) ?>
<?php
global $post;
$myposts = get_posts('numberposts=5');
foreach($myposts as $post) :
setup_postdata($post);
?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br />
<?php endforeach; ?>
<?php restore_current_blog(); ?>

記述の説明としては、
<?php switch_to_blog(7) ?>で呼び出す子サイトの情報(今回でいうと7のIDの子サイト)を決めて、<?php endforeach; ?>でリセットという感じでこの中で回していくイメージになります。
この部分が通常のループという間隔で使うとよいのではないでしょうか。
$myposts = get_posts(‘numberposts=5’);で5件分という指定です。
あとは通常のテンプレートタグなので分かりやすいと思います。

この書き方であればfunctions.phpへの追記も不要なのでより簡単に対応できてよいと思います。

テンプレートタグ「switch_to_blog」を使うことでこんな事ができるようになります。

では実際に「switch_to_blog」が使えることによってどのようなことが可能になるかを考えてみます。
まずは親サイトをポータルサイトのようにして子サイトへのリンクを表示させる場合にすごく使えると思います。
子サイトでは中分類のキーワードに特化したサイトを作り、親サイトで大分類のキーワードのサイトを作るようなイメージでしょうか。
うまく使うことで各サイトから効率よく集客できるようになると思います。

もしくは友人を集めてクラスのまとめブログのようなものも楽しいかもしれません。
子サイトで各自がブログを書いて、そのまとめを親サイトで行うときなどに良さそうです。
グループでブログを書きまくる集団がいればですがなかなか面白いんじゃないかなと思います。

他にも発想の切り替えで色々面白いことができそうです。
是非使いこなして楽しいサイトを作りましょう。


« »

ABOUT THE AUTHOR

こしもあんず
こしもあんず

Wordpressをカスタマイズすることが好きなギーク女子です。
好きなエディタはSublimetext2です。
Google+やってるので、よろしくです。
デザインは好きですが、PHPはあまり得意ではないのでその辺ご容赦くださいね。


Twitterはこちら
https://twitter.com/wordpresscusto1

ad