2016-12-12 5 views
1

Я использую Buddypress 2.7.2 на Wordpress 4.6.1. Я добавил новую страницу с помощью функции bp_core_new_nav_item() на BuddyPress для расширения страниц.
На этой странице есть десять статей Post-type на каждой странице, на странице отображаются страницы. Однако, если я нажимаю на странице 2 или более поздней странице страницы, я не могу найти ссылку. Я написал на добавленной странице следующим образом.Как отобразить разбивку страницы на странице Buddypress

<?php 
$paged = get_query_var('paged'); 
$args = array(
    'posts_per_page' => 10, 
    'paged' => $paged, 
    'orderby' => 'post_date', 
    'order' => 'DESC', 
    'post_type' => 'post', 
    'post_status' => 'publish' 
); 
$the_query = new WP_Query($args); 

if ($the_query->have_posts()) : 
    while ($the_query->have_posts()) : $the_query->the_post(); ?> 

<?php get_template_part('content', get_post_format()); ?> 
<?php endwhile; ?> 
<?php 
$big = 999999999; // need an unlikely integer 

echo paginate_links(array(
    'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
    'format' => '?paged=%#%', 
    'current' => max(1, get_query_var('paged')), 
    'total' => $the_query->max_num_pages 
)); 
?> 

<?php else: ?> 
<?php get_template_part('content', 'none'); ?> 
<?php endif; ?> 

Например, ссылка для разбивки на страницы выглядит следующим образом.
Page 1
Наверх страницы не проблема.
[это не ссылка] (http://example.com/member/username/custom/
После 2-х страниц
Адресат ссылка не существует.
[это не ссылка] (http://example.com/member/username/custom/page/2/ стр/3/страница/4/...... ..

Я не знаю, почему я не могу найти страницу 2 или более поздней версии. Если вы знаете решение, пожалуйста, дайте мне знать.

ответ

0

Это один способ справиться с разбиением на страницы в вашей ситуации. Вероятно, это не самый лучший или «правильный» способ ...

Добавить значение $paged в адрес.

Например:

$paged = (isset($_GET['xj'])) ? $_GET['xj'] : 1; 
$args = array(... etc. 

А затем настроить нумерацию страниц, чтобы использовать эту переменную:

echo paginate_links(array(
     'base' => esc_url(add_query_arg('xj', '%#%')), 
     'format' => '', 
     'total' => ceil((int) $wp_query->found_posts/(int) get_query_var('posts_per_page')), 
     'current' => (int) get_query_var('paged'), 
    )); 
+0

Благодаря вам, я решил о пейджинга. Кроме того, есть один маленький вопрос. О «формате», в котором отображаются параметры. Я хотел бы указать как этот 'format' => '/ xj /% #%'. Поэтому отображаемый URL-адрес выглядит следующим образом [это не ссылка] (http://example.com/member/username/custom/xj/2/. Возможно ли это отображение с этой функцией paginate_links()? –

+0

Невозможно при использовании подхода, который я показал. – shanebp