Следующая и Предыдущая статья на WordPress

Делаю в single.php ссылки на следующую и предыдущую статью. Нашёл в инструкцию в интернете, но по ней не работает, хотя вроде как ничего сложного - вставил-то две строчки и стилизовал.

<div style="display: none;">
    <?php 
    $post = $wp_query->post; 

    $meta = get_post_meta($post->ID);
    ?>
</div>

<?php get_header(); ?>
    <div class="page_in">
        <div class="container">
            <div class="breadcrumbs">
                <?php if(function_exists('bcn_display')){
                    bcn_display();
                } ?>
            </div>
            <div class="row catalogPage__row">
                <div class="col-xs-12 col-md-3 catalogPage__left">
                    <?php get_sidebar(); ?>
                </div>
                <div class="col-xs-12 col-md-9">
                    <div class="content product-content">
                    <?php while ( have_posts() ) : the_post(); ?>
                        <pre><? print_r(the_post()); ?></pre>
                        <div class="titleBox">
                            <h1 class="main_title">
                                <? the_title(); ?>
                            </h1>
                        </div>
                        <div class="contentBox">
                                <div class="product-description">
                                    <?the_content('');?>
                                </div>
                                <nav id="nav-single">
                                    <span class="nav-previous"><?php previous_post_link('Предыдущая запись <br> %link'); ?></span>
                                    <span class="nav-next"><?php next_post_link('Следующая запись <br> %link'); ?></span>
                                </nav>
                                <style>
                                    #nav-single{width:100%;font-weight:bold;color:#333;font-size:15px;line-height:20px;display:inline-block;}
                                    #nav-single a{font-weight:normal;font-size:13px;margin-top:15px;}
                                    #nav-single .nav-next{width:45%;float:right;text-align:right;}
                                    #nav-single .nav-previous{width:45%;float:left;}
                                    .nav-previous a {
                                        background-color: #008000;
                                        padding: 3px;
                                        border-radius: 5px;
                                        display: block;
                                        color: #fff;
                                        font-size: 12px;
                                        line-height: 17px;
                                        margin-top: 0px !important;
                                    }
                                    .nav-next a {
                                        background-color: #4c9bfe;
                                        padding: 3px;
                                        border-radius: 5px;
                                        display: block;
                                        color: #fff;
                                        font-size: 12px;
                                        line-height: 17px;
                                        margin-top: 0px !important;
                                    }
                                    .nav-previous a:hover, .nav-next a:hover {
                                        background-color: #cacaca;
                                    }
                                </style>
                            </div>
                            <div class="clearfix"></div>
                        </div>
                    <?php endwhile;?> 
                </div>
            </div>
        </div>
    </div>
<?php get_footer(); ?>

Ответы (1 шт):

Автор решения: Valerii Vasiliev

уберите фрагмент

<div style="display: none;">
    <?php 
    $post = $wp_query->post; 

    $meta = get_post_meta($post->ID);
    ?>
</div>

либо внесите его внутрь конструкции while

<?php while ( have_posts() ) : the_post(); ?>

    <div style="display: none;">
        <?php $meta = get_post_meta(get_the_ID()); ?>
    </div> 

<?php endwhile; ?>

next_post_link(), previous_post_link() работают с глобальной переменной $post. Вверху страницы Вы ее изменяете

→ Ссылка