Поддержка Проблемы и решения Next Prev Post, закольцевать сайт

  • Всем привет. Поставил перед собой задачу, закольцевать весь сайт через next prev post. В просторах нашел предложенный код:

    /**
     * Зацикленный вывод предыдущего и следующего поста в WordPress
     */
    if( get_adjacent_post(false, '', true) ) { 
    	previous_post_link('%link', '← Previous Post');
    }
    else { 
    	$first = new WP_Query('posts_per_page=1&order=DESC');
    	$first->the_post();
    
    	echo '<a href="' . get_permalink() . '">← Предыдущий пост</a>';
    
    	wp_reset_postdata();
    }; 
    
    if( get_adjacent_post(false, '', false) ) { 
    	next_post_link('%link', 'Next Post →');
    }
    else { 
    	$last = new WP_Query('posts_per_page=1&order=ASC');
    	$last->the_post();
    
    	echo '<a href="' . get_permalink() . '">Следующий пост →</a>';
    
    	wp_reset_postdata();
    }; 

    Сам по себе код работает, но хочу адаптировать его под свой шаблон.
    По умолчанию в шаблоне next prev выглядит так:

    <?php
    // Prevent direct script access.
    if ( ! defined( 'ABSPATH' ) ) {
    	die( 'No direct script access allowed' );
    }
    ?>
    <div class="bdaia-post-next-prev">
    	<div class="bdaia-post-prev-post">
    		<?php previous_post_link( '%link', '<span>'. woohoo_lang_ee( 'Previous article' ).'</span> %title' ); ?>
    	</div>
    	<div class="bdaia-post-next-post">
    		<?php next_post_link( '%link', '<span>'. woohoo_lang_ee( 'Next article' ).'</span> %title' ); ?>
    	</div>
    </div>
    <!-- END Previous/Next article. -->

    Методом тыка пытался пытался, вот что получилось:

    <?php
    // Prevent direct script access.
    if ( ! defined( 'ABSPATH' ) ) {
    	die( 'No direct script access allowed' );
    }
    ?>
    <?php if( get_adjacent_post(false, '', true) ) { 
    	<div class="bdaia-post-next-prev">
    	<div class="bdaia-post-prev-post">
    	previous_post_link( '%link', '<span>'. woohoo_lang_ee( 'Previous article' ).'</span> %title' );</div>
    }
    else { 
    	$first = new WP_Query('posts_per_page=1&order=DESC');
    	$first->the_post();
    
    	echo '<div class="bdaia-post-next-prev">
    	<div class="bdaia-post-prev-post">'. get_permalink() .'( '%link', '<span>'. woohoo_lang_ee( 'Previous article' ).'</span> %title' )';</div>
    
    	wp_reset_postdata();
    }; 
    
    if( get_adjacent_post(false, '', false) ) {
    	<div class="bdaia-post-next-post"> 
    	next_post_link( '%link', '<span>'. woohoo_lang_ee( 'Next article' ).'</span> %title' );</div></div>
    }
    else { 
    	$last = new WP_Query('posts_per_page=1&order=ASC');
    	$last->the_post();
    
    	echo '<div class="bdaia-post-next-post">'. get_permalink() .'( '%link', '<span>'. woohoo_lang_ee( 'Next article' ).'</span> %title' )</div></div>';
    
    	wp_reset_postdata();
    }; ?>
    <!-- END Previous/Next article. -->

    Но не работает, т.к. что то делаю не правильно. Знания PHP ниже нуля, иногда просто методом тыка что то получается, сейчас не вышло. Кто понимает о чем я и глядя на код подскажет где собака зарыта? Заранее спасибо

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Знания в области php пока оставим в стороне. Вы можете объяснить следующий кусочек кода:

    <div class="bdaia-post-next-prev">
    	<div class="bdaia-post-prev-post">
    	previous_post_link( '%link', '<span>'. woohoo_lang_ee( 'Previous article' ).'</span> %title' );</div>

    ?
    У вас открывается div с классом «bdaia-post-next-prev», следом открывается ещё один с классом «bdaia-post-prev-post», а в конце закрывается только один div. То есть вы открываете два дива, а закрываете только один, так вы ещё и классы предыдущей и следующей записи смешали в одном месте. Вы уверены, что так и надо?

    Ну полагаю, что так и надо, так из первых двух условий будет активно одно и из вторых двух условий будет активно одно, вот как раз в двух вторых условиях и идет закрытие двумя дивами. Дело в том что

    <div class="bdaia-post-next-prev">

    закрывается после next article строки, а она находится во вторых двух условиях. Ну как то так

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Next Prev Post, закольцевать сайт» закрыта для новых ответов.