2016-03-09 2 views
1

Я новичок в php, поэтому мне очень нужна помощь.Loop Portfolio Следующая/Предыдущая кнопка в Wordpress

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

<?php 
$prev_post = get_previous_post(); 
$next_post = get_next_post(); 
$prev_post_link = !empty($prev_post) ? get_permalink($prev_post->ID) : true; 
$next_post_link = !empty($next_post) ? get_permalink($next_post->ID) : true; 
if(!empty($prev_post) && empty($prev_post_thumb)) $prev_post_thumb = prev_next_post_format_icon($prev_post->ID); 
if(!empty($next_post) && empty($next_post_thumb)) $next_post_thumb = prev_next_post_format_icon($next_post->ID); 
?> 

Когда я использую Правда, для обоих предыдущих & Следующая Ссылки, его фигурирующих в первом и последнем портфеле, но гиперссылка показывает, как http://1, а не следующий портфель. Спасибо заранее

это мой HTML-код:

<div class="dfd-controls mobile-hide"> 
<?php if(!empty($prev_post_link)) : ?> 
    <a href="<?php echo esc_url($prev_post_link); ?>" class="page-inner-nav nav-prev"> 
     <div class="dfd-controler prev"> 
     <div style="margin-top:7px; color:#fff;">Previous</div> 
      <!-- <div class="thumb prev"> 
       <?php echo $prev_post_thumb; ?> 
      </div> --> 
     </div> 
     <!--<div class="pagination-title">Previous Project</div> --> 
    </a> 
<?php endif; ?> 
<?php if(!empty($next_post_link)) : ?> 
    <a href="<?php echo esc_url($next_post_link); ?>" class="page-inner-nav nav-next"> 
     <div class="dfd-controler next"> 
      <div style="margin-top:7px; color:#fff;">Next</div> 
      <!-- <div class="thumb next"> 
       <?php echo $next_post_thumb; ?> 
      </div>--> 
     </div> 
     <!--<div class="pagination-title">Next Project</div>--> 
    </a> 
<?php endif; ?> 

ответ

0

изменить значение от истинного на ложное. Установка переменной в true даст empty ложное значение see here.

Теперь 'рядом' покажет только если есть следующий пост

ваш PHP должно быть:

$prev_post = get_previous_post(); 
$next_post = get_next_post(); 
$prev_post_link = !empty($prev_post) ? get_permalink($prev_post->ID) : false; 
$next_post_link = !empty($next_post) ? get_permalink($next_post->ID) : false; 
if(!empty($prev_post) && empty($prev_post_thumb)) $prev_post_thumb = prev_next_post_format_icon($prev_post->ID); 
if(!empty($next_post) && empty($next_post_thumb)) $next_post_thumb = prev_next_post_format_icon($next_post->ID); 

UPDATE: Для того, чтобы иметь петлю сообщений:

if(get_adjacent_post(false, '', true)) { 
    previous_post_link('%link', '<div class="dfd-controler prev"><div style="margin-top:7px; color:#fff;">Previous</div></div>'); 
} else { 
    $first = new WP_Query('posts_per_page=1&order=DESC'); $first->the_post(); 
     echo '<a href="' . get_permalink() . '"><div class="dfd-controler prev"><div style="margin-top:7px; color:#fff;">Previous</div></div></a>'; 
    wp_reset_query(); 
}; 

if(get_adjacent_post(false, '', false)) { 
    next_post_link('%link', '<div class="dfd-controler next"><div style="margin-top:7px; color:#fff;">Next</div></div>'); 
} else { 
    $last = new WP_Query('posts_per_page=1&order=ASC'); $last->the_post(); 
     echo '<a href="' . get_permalink() . '"><div class="dfd-controler next"><div style="margin-top:7px; color:#fff;">Next</div></div>'; 
    wp_reset_query(); 
}; 
+0

Привет Марк, ну Если я нахожусь в первом посте, я должен быть в состоянии перейти к предыдущему сообщению, т. Е. Последнему сообщению, так же, если я нахожусь в последнем посте, я должен получить следующее сообщение, то есть первое сообщение. Это должно быть похоже на цикл. что нужно сделать для этого? – Zain

+0

Я изменил свой ответ - используйте второй набор кода – Mark