BuddyPressの拡張プロフィールにオリジナルページを追加した場合のページャーがこれまでどうしても動かなかったのですが、下記のようにすることで動くページャーが実装できました。
functions.phpに下記のコードを追加します。
function is_request_page() { return get_the_ID() == 328; } function shortcode_hostname() { $url_parts = parse_url( home_url() ); return $url_parts['host']; } add_shortcode('shortcode_hostname', 'shortcode_hostname'); function shortcode_urlencoded_home_url() { return urlencode(home_url()); } add_shortcode('shortcode_urlencoded_home_url', 'shortcode_urlencoded_home_url');
オリジナルページのquery_postsの直前に下記コードを追加します。
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
ページャーを表示したい位置に下記を表示します。
<?php echo bmPageNavi(); $wp_query = null; $wp_query = $temp; ?>
ソースコード例
<?php $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; query_posts("posts_per_page=30&paged={$paged}"); if ( have_posts() ) : ?> <ul class="list"> <?php while(have_posts()): the_post();?> <li><a title="<?php the_title(); ?>" rel="bookmark" href="<?php the_permalink(); ?>"><?php the_title(); ?><span class="date"><?php printf( __( '%1$s', 'buddypress' ), get_the_date() ); ?></span></a></li> <?php endwhile; ?></ul> <?php echo bmPageNavi(); $wp_query = null; $wp_query = $temp; ?> <?php endif; ?> <?php wp_reset_query(); ?>