2015-01-18 3 views
1

Wordpress Страница Pagination IF запрос

<?php 
 
$pagelist = get_pages('sort_column=menu_order&sort_order=asc'); 
 
$pages = array(); 
 
foreach ($pagelist as $page) { 
 
    $pages[] += $page->ID; 
 
} 
 

 
$current = array_search(get_the_ID(), $pages); 
 
$prevID = $pages[$current-1]; 
 
$nextID = $pages[$current+1]; 
 
?> 
 

 
<div id="page_nav"> 
 
\t <div class="wrapper"> 
 
\t \t <a href="<?php echo get_permalink($prevID); ?>"><i class="fa fa-arrow-left"></i>Previous Work</a><span>/</span> 
 
\t \t <a id="back_link" href="http://kyleskelly.co.uk/#projects_container">Back to Projects</a><span>/</span> 
 
\t \t <a href="<?php echo get_permalink($nextID); ?>">Next Work<i class="fa fa-arrow-right"></i></a> 
 
\t </div> 
 
</div>

Мои знания PHP не велика, так что любая помощь будет признателен, спасибо!

Я хочу, чтобы мой код запроса -

IF является первой страницей в портфеле, то тег для предыдущей ссылки неактивен.

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

еще код я уже

ответ

1

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

<?php 
$pagelist = get_pages('sort_column=menu_order&sort_order=asc'); 
$current = get_the_ID();// Current Page ID. I assume IDs are unique, and all pages have one. All the IDs are in $pagelist. 

$next = $prev = FALSE; 
reset($pagelist);// Pointer to first element. 
while ($page = current($pagelist)){// Loop through the array. I used while instead of foreach for its convenience to get next element. 
    if($page->ID == $current) { 
     $obj = next($pagelist); 
     $next = $obj ? $obj->ID : FALSE;// If there's a next, get the ID, otherwise we are the last page. 
     break; 
    } 

    $prev = $page->ID;// Previous element 
    next($pagelist);// Update pointer 
} 

?> 

<div id="page_nav"> 
    <div class="wrapper"> 
     <?php if($prev !== FALSE) {// If I have a previous element, print out a ?> 
     <a href="<?php echo get_permalink($prev); ?>"><i class="fa fa-arrow-left"></i>Previous Work</a><span>/</span> 
     <?php } ?> 
     <a id="back_link" href="http://kyleskelly.co.uk/#projects_container">Back to Projects</a><span>/</span> 
     <?php if($next !== FALSE) {// If I have a next element, print out a ?> 
     <a href="<?php echo get_permalink($next); ?>">Next Work<i class="fa fa-arrow-right"></i></a> 
     <?php } ?> 
    </div> 
</div> 
+0

Да, это работает! Большое спасибо! :) – kyleskelly

+0

@kyleskelly рада помочь :) пожалуйста, примите ответ, если проблема решена – acontell

Смежные вопросы