BuddyPressのプロフィール画面で新規に追加したページにページャーを表示する

harada 418views 更新:2014年6月24日

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(); ?>

参考:WordPressのカスタム投稿でarchive内ページネーションを作る方法

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません