WordPress нумерация страниц не работает на второй или следующей странице - PullRequest
0 голосов
/ 18 октября 2019

Я занимаюсь разработкой веб-сайта WordPress с функцией поддержки. Используя пользовательский пост, я показываю все посты на странице поддержки. Теперь я показал ссылку на страницы, используя ссылки WordPress paginate_links (), но когда я перехожу на вторую или любую другую страницу, она показывает мне сообщение об ошибке;

Примечание: неопределенное смещение: 0 в D: //......

Код, который я использую?

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$query_data = array(
    'post_type' => 'support',    
    'posts_per_page' => -1,
    'orderby' => 'date',
    'order' => 'DESC',
    'posts_per_page' => 3,
    'paged' => $paged,
);

if(isset($_GET['item_category']) && !empty($_GET['item_category'])) {
    $query_data['tax_query'] =  array(
        array(
            'taxonomy' => 'item_category',
            'field'    => 'slug',
            'terms'    =>  $_GET['item_category'],
        )
    ); 
} 

if(isset($_GET['q']) && !empty($_GET['q'])) {
    $query_data['s'] = $_GET['q'];
}

if(isset($_GET['status']) && !empty($_GET['status'])) {
    if('open' == $_GET['status']) {
        $query_data['meta_query'] =  array(
            array(
                'key' => 'mark_as',
                'value' => array(1, 2),
                'compare' => 'NOT IN',
            )
        );
    }elseif('resolved' == $_GET['status']) {
        $query_data['meta_query'] =  array(
            array(
                'key' => 'mark_as',
                'value' => 2,
                'compare' => '=',
            )
        );
    }elseif('closed' == $_GET['status']) {
        $query_data['meta_query'] =  array(
            array(
                'key' => 'mark_as',
                'value' => 1,
                'compare' => '=',
            )
        );
    }else {
         $query_data['comment_count'] = 0;
    } 
}

$support = new WP_Query($query_data);

if($support->have_posts()) {
    while ($support->have_posts()) {
        $support->the_post(); 
        $pinned = get_post_meta( get_the_ID(), 'pinned', true );                                
        $author_name = get_the_author_meta( 'display_name', false );
        $author_avatar = get_avatar( get_the_author_meta( 'ID' ), 45, '', '', array( 'class' => array( 'img-thumbnail rounded-circle' ) ) );
        $reply_count = get_comments_number( get_the_ID() );
        $mark_as = get_post_meta( get_the_ID(), 'mark_as', true );
        ?>
        <div class="support_thread--single">
            <div class="support_thread_info">
                <a href="<?php echo get_the_permalink(); ?>" class="support_title">
                    <?php echo get_the_title(); ?>
                </a>
                <?php if($pinned) { echo '<span class="resolved pinned">Pinned</span>'; } ?>
                <?php if($mark_as == '2') { echo '<span class="resolved">Resolved</span>'; } ?>
                <?php if($mark_as == '1') { echo '<span class="resolved closed">Closed</span>'; } ?>

                <div class="suppot_query_tag">
                    <span class="user"><?php echo $author_avatar . ' ' .  '<strong>'.$author_name.'</strong>'; ?></span>
                    <span>
                    <?php echo ' asked ' . human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?>
                    </span>

                    <span class="support_tag">
                        <?php 
                        $terms = wp_get_post_terms( get_the_ID(), 'item_category');
                        if($terms) {
                            $item_category_name = $terms[0]->name;
                            $item_category_slug = $terms[0]->slug;
                            $current_page = get_the_permalink();
                            echo "Category : <a href='{$current_page}?item_category={$item_category_slug}'>{$item_category_name}</a>";
                        }
                        ?>
                    </span>
                </div>
            </div>
            <!-- end .support_thread_info -->

            <div class="support_thread_meta">
                <ul>
                    <li class="answer_time">                        
                        <?php site_last_comment_date(); ?>
                    </li>
                    <li>
                        <p class="number">2</p>
                        <span>votes</span>
                    </li>
                    <li>
                        <p class="number">
                            <?php echo $reply_count; ?>
                        </p>
                        <span>
                            <?php 
                            if($reply_count > 0) { 
                                _e('replies', 'site');
                            } else { 
                                _e('reply', 'site'); 
                            }
                            ?>
                        </span>
                    </li>
                </ul>
            </div>
            <!-- end .support_thread_meta -->
        </div>
        <?php
    }
 }                  


$big = 999999999; // need an unlikely integer

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

wp_reset_postdata();

Есть ли проблема в коде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...