マルチサイト化したブログのカスタムポストを表示する方法
カテゴリー:WordPress昨日かなり久しぶりにマルチサイト化したWordPressを触りました!
、、、久しぶりすぎて、使うタグが全然分からなかったです笑
しかもマルチサイトとかもう全然使わずにいたのでなおさら笑
今回はマルチサイト化した状態で違うブログの記事
でわなく、違うブログのカスタムポストを表示する方法をメモしときます!
このタグがひたすら出てこなかった
まず、カスタムポストを表示させるのは簡単ですよね。
<?php $args = array( 'posts_per_page' => -1, 'post_type' => customPostName ); $the_query = new WP_Query( $args ); if($the_query->have_posts()): while($the_query->have_posts()): $the_query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_time("Y.m.d"); ?><?php the_title(); ?></a></li> <?php endwhile; endif; wp_reset_postdata(); ?>
・posts_per_pageのところは表示したい記事の件数です(-1は全件表示)
・post_typeのところはカスタムポスト名です
・閉じタグの「endwhile;endif;wp_reset_postdata();」をつけ忘れないこと
そう、これだけでカスタムポストは表示できますよね、、、
マルチサイトにして他のブログから持ってこようとはしなければ!!
マルチブログで、他のブログを呼び出す時のタグ
お前だよ!
「switch_to_blog(1);」
まぁ、正確に書けば
//スタートのタグ <?php switch_to_blog(1) ?> //エンドのタグ <?php restore_current_blog(); ?>
ですね!
これを、先ほどのカスタムポストを表示する時のコードと組み合わせると
//スタートのタグ <?php switch_to_blog(1) ?> <?php $args = array( 'posts_per_page' => -1, 'post_type' => customPostName ); $the_query = new WP_Query( $args ); if($the_query->have_posts()): while($the_query->have_posts()): $the_query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_time("Y.m.d"); ?><?php the_title(); ?></a></li> <?php endwhile; endif; wp_reset_postdata(); ?> //エンドのタグ <?php restore_current_blog(); ?>
こうなります!
こまめにやっとかないと、すぐに忘れちゃうね、、、
最近はiPhone・Androidのアプリ開発をやらせてもらっているので、
WordPressからは遠ざかっていましたが、ここでこんなダメージを食らうとは思ってはいたけど想像以上でした笑
ただ、過去にマルチサイトの構築はしたことがあったので、
その時の遺産を探してコードをコピーするだけでした笑
遺産、大事、笑