wordpressのマルチサイト機能を使ってサイトを作成しています。
本店の新着情報一覧に、支店の新着情報も含めた一覧ページを作りたいです。
本店も支店も一つの一覧に時系列で表示し、10件ごとにページ送りをしたいです。
http://foreignkey.toyao.net/archives/1192
http://memo-tan.com/wordpress/list-posts-in-multisite-network_20131022.html
上記のページを参考に
WP Over Network をインストール・有効化しています。
その上で、本店の固定ページに空のページ(news_blog)を作り、
page-news_blog.php このテンプレートに下記のように記述しました。
<?php $posts = wponw::get_posts('exclude_blog_ids=1&post_type=post&affect_wp_query=true&numberposts=10'); global $post; wp_pagenavi(); foreach ( $posts as $post ): switch_to_blog( $post->blog_id ); $post = get_post( $post->ID ); $the_date = mysql2date( get_option( 'date_format' ), $post->post_date ); ?> <li> <?php if ( current_theme_supports( 'post-thumbnails', $post->post_type ) ): ?> <div class="post-thum<?php ! has_post_thumbnail( $post->ID ) and print(' no-thumbnail') ?>"><?php the_post_thumbnail() ?></div> <?php endif; ?> <?php echo get_bloginfo( 'name' ); ?> <a class="post-title" href="<?php echo esc_url( get_permalink( $post->ID ) ) ?>" title="<?php echo esc_attr( get_the_title( $post ) ) ?>"><?php echo esc_html( get_the_title( $post ) ) ?></a> <?php if ( $show_date ) : ?> <span class="post-date"><?php echo apply_filters( 'get_the_date', $the_date ) ?></span> <?php endif; ?> </li> <?php restore_current_blog(); endforeach; ?> <?php wp_reset_query(); ?> </ul> コード
すると、本店のブログ以外のブログは表示されました。
exclude_blog_ids=1&
↑この部分で、親のブログは読み込まないと記述しているのが、原因かと思い、
このフレーズを削除しました。
すると今度は全ての新着情報が表示されず、ページネーションの部分だけが表示されるようになってしまいました。
exclude_blog_ids=3&
このように、存在する子ブログのidに変えてみましたが、同じようにページネーションしか表示されない状態です。
$posts = wponw::get_blogs();で全てのブログを取得したら、問題なく全てのブログの一覧が表示されていました。
書き方がどこか間違っているでしょうか?
すみませんがご教示いただければ幸いです。
あなたの回答
tips
プレビュー