マルチサイト機能を使ってサイトを構築しています。
プラグインWP Over Networkを使って、親ブログのindexに親ブログと子ブログの新着情報を時系列に10件一覧表示したいです。
下記のページを参考にテンプレートを変更しました。
http://foreignkey.toyao.net/archives/1192
http://memo-tan.com/wordpress/list-posts-in-multisite-network_20131022.html
書いたタグは以下です。
ブログID1=親ブログ
<?php $args = array( 'exclude_blog_ids' => '1', //1以外が表示される 'post_type' => 'post', 'numberposts' => 10, 'affect_wp_query' => true //affect_wp_query trueを指定すると $wp_query を変更します。$wp_query に依存するプラグイン(例:WP_PageNavi)を利用する際に利用する。 ); $posts = wponw::get_posts($args); 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> コード
WP Over Networkのデフォルトでは全部のブログを表示になっているはずなので、
exclude_blog_idsを指定したくないのですが、
削除すると親ブログどころか何も出力されなくなってしまいます。
WP Over Networkは、親サイトや子サイトが “検索エンジンがサイトをインデックスしないようにする” に指定されていると記事を取得せずに表示されません。
...とあったので、そちらも親ブログ、子ブログともに確認しましたが、全て指定は外してあります。
指定値を色々と変えてみましたが、結果は以下の通りでした
//exclude_blog_ids を指定しないと何も表示されない
'exclude_blog_ids' => '1', //1以外が表示される
//'exclude_blog_ids' => '2', //何も表示されない
//'blog_ids' => '1', //1が表示される
//'blog_ids' => '1,3', //1も3も表示されない
//'blog_ids' => '2,3', //2、3が表示される
根本的な何かが違うような気がするんですが、ご教示いただけますと幸いです。
あなたの回答
tips
プレビュー