Wordpress нумерация страниц - PullRequest
       2

Wordpress нумерация страниц

0 голосов
/ 06 декабря 2018

Я использую стандартный цикл WordPress для возврата сообщений.Единственное изменение, которое я внес в стандартное сообщение WP, - это пометить сообщение как новости в файле функций.

function revcon_change_post_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = 'News';
    $submenu['edit.php'][5][0] = 'News';
    $submenu['edit.php'][10][0] = 'Add News';
    $submenu['edit.php'][16][0] = 'News Tags';
}
function revcon_change_post_object() {
    global $wp_post_types;
    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'News';
    $labels->singular_name = 'News';
    $labels->add_new = 'Add News';
    $labels->add_new_item = 'Add News';
    $labels->edit_item = 'Edit News';
    $labels->new_item = 'News';
    $labels->view_item = 'View News';
    $labels->search_items = 'Search News';
    $labels->not_found = 'No News found';
    $labels->not_found_in_trash = 'No News found in Trash';
    $labels->all_items = 'All News';
    $labels->menu_name = 'News';
    $labels->name_admin_bar = 'News';
}

add_action( 'admin_menu', 'revcon_change_post_label' );
add_action( 'init', 'revcon_change_post_object' ); 

С постоянными ссылками, установленными на plain нумерация страниц работает просто отлично.Но когда я меняю постоянные ссылки на post name, нумерация страниц перестает функционировать?Либо перейдя по ссылкам на нумерацию страниц, либо вручную перейдя в / news / page / 2 / просто перезагрузите / news /.

Если я перехожу к / news / page / 72 / нумерация страниц снова начинает работать до последней страницы (83), но переход к / news / page / 71 возвращает меня к / news / снова.

Я пытался: • Снять части петли, если что-то сломало вещи.• Отключение плагинов (я не могу отключить все, так как это живой сайт).• Создание постраничного цикла с использованием wp_Query

Ничего не помогло, кроме изменения структуры постоянной ссылки на plain, поэтому URL-адреса возвращаются как siteurl.com/?p=123.

Это сводит меня с ума!Может ли кто-нибудь подсказать что-то, чего я не пробовал?

<?php $loopcounter = 1; if (have_posts()): while (have_posts()) : the_post(); ?>

    <!-- article -->
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <div class="col-1-1 mobile-col-1-1 nopad clearfix news-loop">
            <div class="col-4-12 mobile-col-1-1 clearfix">  
            <!-- post thumbnail -->
                <?php if ( has_post_thumbnail()) :?>
                    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                        <?php the_post_thumbnail();?>
                    </a>
                <?php endif; ?>
                <!-- /post thumbnail -->
            </div>
            <div class="col-8-12 mobile-col-1-1 clearfix">
                <!-- post title -->
                <h2>
                    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
                </h2>
                <!-- /post title -->


                <?php html5wp_excerpt('html5wp_custom_post') ?>
            </div>
        </div>
    </article>
    <!-- /article -->
    <?php if ($loopcounter % 5 == 0):?>
        <div class="col-1-1 mobile-col-1-1 nopad clearfix loopcta">
            <?php get_template_part('cta2'); ?>
        </div>  
    <?php endif;?>
<?php $loopcounter++; endwhile; ?>
<?php get_template_part('pagination'); ?>
<?php else: ?>

    <!-- article -->
    <article>
        <h2><?php _e( 'Sorry, nothing to display.', 'a51_blank' ); ?></h2>
    </article>
    <!-- /article -->

<?php endif; ?>

1 Ответ

0 голосов
/ 06 декабря 2018

Мне не удалось решить проблему, но создание шаблона страницы с постраничным wp_query работало под URL / test /, но при реализации этого под URL / новостями / оно снова сломалось.Обходной путь, который я нашел на данный момент, заключается в создании страницы / company-news / и настройке 301 для перенаправления / news / to / company-news /.

Я знаю, что это на самом деле не решение, так как я не решил, какая бы ни была проблема с циклом по умолчанию, однако пока он работает.

Код:

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$news_arg = array( 'post_type' => 'post', 'posts_per_page'=> 10, 'paged' => $paged );
$news_query = new WP_Query($news_arg);

global $wp_query;
$tmp_query = $wp_query;
$wp_query = null;
$wp_query = $news_query;


$loopcounter = 1; if ($news_query->have_posts()): while ($news_query->have_posts()) : $news_query->the_post(); ?>

    <!-- article -->
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <div class="col-1-1 mobile-col-1-1 nopad clearfix news-loop">
            <div class="col-4-12 mobile-col-1-1 clearfix">  
            <!-- post thumbnail -->
                <?php if ( has_post_thumbnail()) : ?>
                    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                        <?php the_post_thumbnail(); ?>
                    </a>
                <?php endif; ?>
                <!-- /post thumbnail -->
            </div>
            <div class="col-8-12 mobile-col-1-1 clearfix">
                <!-- post title -->
                <h2>
                    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
                </h2>
                <!-- /post title -->


                <?php html5wp_excerpt('html5wp_custom_post'); ?>
            </div>
        </div>
    </article>
    <!-- /article -->
    <?php if ($loopcounter % 5 == 0):?>
        <div class="col-1-1 mobile-col-1-1 nopad clearfix loopcta">
            <?php get_template_part('cta2'); ?>
        </div>  
    <?php endif;?>
<?php $loopcounter++; endwhile; ?>
<style>.navigation.pagination h2{display:none;}</style>
<?php the_posts_pagination( array(
    'mid_size'  => 2,
    'prev_text' => __( 'Previous', 'textdomain' ),
    'next_text' => __( 'Next', 'textdomain' ),
) );?>

<?php else: ?>

    <!-- article -->
    <article>
        <h2><?php _e( 'Sorry, nothing to display.', 'a51_blank' ); ?></h2>
    </article>
    <!-- /article -->
<?php wp_reset_postdata(); endif; 
$wp_query = null;
$wp_query = $tmp_query;?> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...