Поддержка Проблемы и решения навигация с помощью get_adjacent_post

  • добрый день!
    помогите пожалуйста разобраться с навигацией (предыдущая/след.) вот на этом посте.
    я никак не могу добиться того, чтоб навигация происходила внутри категории.

    вот, например:
    это код правой стрелки — как бы следующий пост.

    if(get_permalink(get_adjacent_post( false,'', true)) != get_permalink($post->ID)){
    			echo '<a href="'.get_permalink(get_adjacent_post( false,'', true)).'" class="portfolio-next fa fa-angle-right"></a>';
    		}

    но ссылка получается на некий абстрактный след.пост.
    в документации про get_adjacent_post сказано, что если написать get_adjacent_post( true,», true) то будет ссылка на следующий пост в этой категории. но этого не происходит и ссылка в этом случае получается на этот же пост на котором я нахожусь.
    Надеюсь вы мне что-нибудь разъясните)

    P.S. Я воопще не профи — просто купил шаблон. Но автор отказался сам решать эту проблему. Сказал что дело в этих строчках.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • а родные функции следующего и предыдущего поста не устраивают?

    <?php next_post_link( '%link', 'Next post in category', TRUE ); ?>

    меня то может и устроили, но я не понимаю куда это поставить.
    у меня же еще задача, чтоб дизайн не полетел.

    вставить заместо вашего кода.
    я так понимаю, что там используется get_adjacent_post только из-за того, чтобы класс ссылки указать?
    ну так можно обойтись:

    ?> <div class="portfolio-next fa fa-angle-right">
    <?php next_post_link( '%link', 'Next post in category', TRUE ); ?>
    </div>

    а в стилях темы поправить код:

    .portfolio-next{}
    .fa-angle-right{}

    на

    .portfolio-next a{}
    .fa-angle-right a{}

    точнее сказать не видя темы сложно.

    мне не понятно какой код менять.. вот часть функций этой страницы, отвечающая за этот блок навигации:

    function vntd_portfolio_navigation(){
    
    	global $post,$smof_data;
    
    	// Check if Portfolio Navigation isn't disabled
    	if(!get_post_meta($post->ID, 'nav_disabled', true)){
    
    		echo '<div id="portfolio-navigation" class="page-title-side">';
    		if(get_permalink(get_adjacent_post(false,'',false)) != get_permalink($post->ID)){
    			echo '<a href="'.get_permalink(get_adjacent_post(false,'',false)).'" class="portfolio-prev fa fa-angle-left"></a>';
    		}
    		// Check if Parent Portfolio Page is set
    		if(get_post_meta($post->ID, 'home_button', true) == 'enabled' && get_post_meta($post->ID, 'home_button_link', true)){
    
    			$home_url = get_permalink(get_post_meta($post->ID, 'home_button_link', true));
    			if(!$home_url) {
    				$home_url = $smof_data['vntd_portfolio_url'];
    			}
    			if($home_url) {
    				echo '<a href="'.$home_url.'" class="portfolio-home fa fa-th"></a>';
    			}
    		}
    
    		if(get_permalink(get_adjacent_post( false,'', true)) != get_permalink($post->ID)){
    			echo '<a href="'.get_permalink(get_adjacent_post( false,'', true)).'" class="portfolio-next fa fa-angle-right"></a>';
    		}
    
    		echo '</div>';
    	}
    }

    что значит какой? этот и меняйте:

    if(get_permalink(get_adjacent_post( false,'', true)) != get_permalink($post->ID)){
    			echo '<a href="'.get_permalink(get_adjacent_post( false,'', true)).'" class="portfolio-next fa fa-angle-right"></a>';
    		}

    вы же сами этот кусок кода привели в самом начале.

    когда я делаю эту замену, dreamweaver сигнализирует о синтаксической ошибке.

    echo '<div class="portfolio-next fa fa-angle-right">';
    next_post_link( '%link', 'Next post in category', TRUE );
    echo '</div>';

    заменил, но както странно все выглядит на странице. в стилях темы не нашел этих определений:

    .portfolio-next{}
    .fa-angle-right{}

    но в библиотеке стилей «font-awesome.css» есть вот такой код:
    .fa-angle-right:before {content: "\f105";}

    видимо тут какие то дебри… наверное только автор может в этом всем разобраться)

    Flector, в любом случае спасибо за потраченное время!

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «навигация с помощью get_adjacent_post» закрыта для новых ответов.