• Есть search.php, который используется для поиска в двух разных пользовательских типах постов(в зависимости от параметра s):

    if($_GET['s']=='Поиск врача') {
    
    get_template_part('includes/doctors');
    
    }elseif($_GET['s']=='Поиск клиники'){
    
    get_template_part('includes/hospitals');
    
    }

    Проблема во второй ветке if-а: поиске по клиникам. Вот файл includes/hospitals.php:

    <?php
    
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    
    $arg=array(
        'posts_per_page' => 5,
        'paged' => $paged,
        'post_type' => 'hospital',
        'post_status' => 'publish'
    );
    
    $arg=apply_filter($arg);
    
    $posts = new WP_Query($arg);
    
    ?>
    
    <div class="row sort">
        <?php get_template_part('includes/sort') ?>
    </div>
    
    <?php
    
    while($posts->have_posts()){ $posts->the_post();
        echo get_template_part('content', 'hospital');
    }
    
    if(function_exists('custom_pagination')) custom_pagination($posts);
    
    ?>

    ..а также content-hospital.php(не знаю станет ли он тут полезным, но пусть будет):

    <div class="row">
        <article class="doctor">
    
            <div class="col-md-10 col-sm-10 col-xs-9">
    
                <div class="row left-align">
                    <div class="col-md-7">
    
                        <span class="name"><strong><?php the_title(); ?></strong></span>
                        <br/>
                        <span style="color: <?=ot_get_option('main_color_1');?> ;" class="jobtitle">
                            <?php
                                $address=get_post_meta($post->ID, 'hospital-address', true);
                                $phone=get_post_meta($post->ID, 'hospital-phone', true);
                                echo $address. '<br/>' .$phone;
                            ?>
                        </span>
                    </div>
                    <div class="col-md-offset-1 col-md-4">
    
                        <span class="start-rating">
                            <?php if(function_exists('the_ratings')) {
                                the_ratings();
                            } ?>
                        </span>
    
                            <?php
                                $d=get_posts(array(
                                    'meta_key'        => 'doctor-hospital',
                                    'meta_value'      => $post->ID,
                                    'post_type'       => 'doctor',
                                    'post_status'     => 'publish',
                                    'numberposts'     => -1,
                                ));
                                $count=count($d);
                                unset($d);
                            ?>
    
                            <a href="<?=get_permalink(); ?>" class="comments">
                                <?=$count;?> врача
                            </a>
    
                    </div>
                </div>
            </div>
        </article>
    
    </div>

    Беда в том, что, когда параметр paged>1, то Вордпресс не выбирает для отображения search шаблон, а отображает почему-то index.php, хотя параметр s — на месте.

    Подскажите, пожалуйста, в чем может быть проблема.

  • Тема «Проблема с пагинацией в шаблоне поиска» закрыта для новых ответов.