Разбиение на страницы на странице одного агента не работает wordpress

Я создал одну страницу агента на этой странице. Я пытаюсь перечислить все свойства агента в этой области свойств. Я сохранил разбивку на страницы начальной загрузки, которая не работала, она показывала номера страниц, но когда вы щелкаете, это не происходит. page1 или page 2 и т. д. Но он перенаправлял на ту же страницу. Вот мой код.

get_header();
<div class="container-fluid"><div class="row bkg-white bkg-pd-top">
<div class="container">
<?php if (have_posts()) : 
while (have_posts()) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
    <div class="col-md-9"><div class="row">
<div class="single-details">
<div class="single-sec-prop-title">Agent Details</div>
<div class="single-prop-detail">
<div class="col-md-4 col-sm-4 col-xs-4"><div class="row"><div class="agent-single-image">
<?php the_post_thumbnail('small-img-featured', array('class' => 'img-responsive')); ?>
</div></div></div>
</div>
</div></div>    
</div></div>

<div class="single-details">
<div class="single-sec-prop-title">Description</div>
<div class="single-prop-detail">   
<?php the_content(); ?>
</div>
</div>

<div class="col-xs-12"><div class="row">
<div class="single-sec-prop-title agent-single-title">Listed Properties</div>
<?php
endwhile; 
endif;

if (get_query_var('paged')) {
    $paged = get_query_var('paged');
} elseif (get_query_var('page')) { 
    $paged = get_query_var('page');
} else {
    $paged = 1;
}
$args = array(
'post_type' => array('forsale', 'forrent'),
'numberposts' => -1,
'posts_per_page' => 10,
'post_status' => 'publish',
'paged' => $paged,  //very important
'meta_key' => 'select-agent',
'meta_value' => get_the_id(),
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
while ($custom_query->have_posts()) : $custom_query->the_post();
get_template_part( 'template-parts/property', 'agent' );  
endwhile;  ?>
<?php 
if ($custom_query->max_num_pages > 1) :
$orig_query = $wp_query;
$wp_query = $custom_query;
?><nav class="prev-next-posts">
<?php
if (function_exists('wp_bootstrap_pagination')){
wp_bootstrap_pagination();
}
?>
</nav>
<?php endif;
 wp_reset_postdata();
else:
 get_template_part( 'template-parts/no', 'post' ); 
endif;  //ends loop

?>

<?php 
get_footer(); 

Вот ссылка для кода начальной страницы Bootstrap pagenatio

1
0
107
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

вы можете попробовать это с помощью wordpress.

<?php 
get_header(); ?>
<div class="container-fluid"><div class="row bkg-white bkg-pd-top">
<div class="container">
<?php if (have_posts()) : 
while (have_posts()) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
    <div class="col-md-9"><div class="row">
<div class="single-details">
<div class="single-sec-prop-title">Agent Details</div>
<div class="single-prop-detail">
<div class="col-md-4 col-sm-4 col-xs-4"><div class="row"><div class="agent-single-image">
<?php the_post_thumbnail('small-img-featured', array('class' => 'img-responsive')); ?>
</div></div></div>
</div>
</div></div>    
</div></div>

<div class="single-details">
<div class="single-sec-prop-title">Description</div>
<div class="single-prop-detail">   
<?php the_content(); ?>
</div>
</div>

<div class="col-xs-12"><div class="row">
<div class="single-sec-prop-title agent-single-title">Listed Properties</div>
<?php
endwhile; 
endif;

if (get_query_var('paged')) {
    $paged = get_query_var('paged');
} elseif (get_query_var('page')) { 
    $paged = get_query_var('page');
} else {
    $paged = 1;
}
$args = array(
'post_type' => array('forsale', 'forrent'),
'numberposts' => -1,
'posts_per_page' => 10,
'post_status' => 'publish',
'paged' => $paged,  //very important
'meta_key' => 'select-agent',
'meta_value' => get_the_id(),
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
while ($custom_query->have_posts()) : $custom_query->the_post();
get_template_part( 'template-parts/property', 'agent' );  
endwhile;  

customPagination($paged,$custom_query);


endif;
 wp_reset_postdata();
else:
 get_template_part( 'template-parts/no', 'post' ); 
endif;  //ends loop

?>

<?php 
get_footer();

?>


<?php 
function customPagination($paged,$probj){

            $data = '';
            $data .='<nav aria-label="Page navigation example">';
                $pager = 999999999; 
                $pargs = array(
                    'base' => str_replace( $pager, '%#%', esc_url( get_pagenum_link( $pager ) ) ),
                    'format' => '?paged=%#%',
                    'current' => max( 1, $paged ),
                    'total' => $probj->max_num_pages,
                    'prev_next'=> false,
                    'type'=> 'array'
                );      
                $links = paginate_links( $pargs );              

                if ( $links ) :

                    $data .= '<ul class="pagination justify-content-center">';

                    // get_previous_posts_link will return a string or void if no link is set.
                    if ( $prev_posts_link = get_previous_posts_link( __( 'Previous Page' ) ) ) :
                        $data .= '<li class="prev-list-item">';
                        $data .= $prev_posts_link;
                        $data .= '</li>';
                    endif;

                    $data .= '<li class="page-item">';
                    $data .= join( '</li><li class="page-item">', $links );
                    $data .= '</li>';

                    // get_next_posts_link will return a string or void if no link is set.
                    if ( $next_posts_link = get_next_posts_link( __( 'Next Page' ) ) ) :
                        $data .= '<li class="next-list-item">';
                        $data .= $next_posts_link;
                        $data .= '</li>';
                    endif;
                    $data .= '</ul>';
                endif;



            $data .='</nav>';
            echo $data;
        }


?>

Я добавил одну функцию в ваш код, пожалуйста, укажите это.

Вы знаете, почему разбивка на страницы не работала?

James Paul 31.10.2018 14:04

kaushal bhatt, я пробовал ваш код, такая же проблема возникает и в вашем коде.

James Paul 31.10.2018 14:08
Ответ принят как подходящий

Вот ответ на ваш вопрос. Если вам нужно добавить разбиение на страницы на вашей отдельной странице, например, на вашей странице единственного агента, вам необходимо установить функцию перенаправления шаблона в wordpress, для этого вам нужно добавить следующий код в ваши активные темы function.php В этом коде, пожалуйста, измените агент к вашему пользовательскому типу сообщения, если ваше пользовательское сообщение не является агентом.

 add_filter('redirect_canonical','redirect_single_page');

    function redirect_single_page($redirect_url) {
    if (is_singular('agent')) $redirect_url = false; // change 'agent' to your custom post type, obviously
    return $redirect_url;
    }

Другие вопросы по теме