2014-02-07 4 views
0

Так я это эхо только родители-дети ссылки:Wordpress: Php Break после функции?

<div class="row-fluid"> 
<ul class="nav nav-list submenu"> 

<? 
    $child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); 
    if ($child_pages) : 
    foreach ($child_pages as $pageChild) : 
    setup_postdata($pageChild); 
?> 

<a href="<?= get_permalink($pageChild->ID) ?>" rel="bookmark"> 
<li class="subnav"><?= $pageChild->post_title?>  </li> 
</a> 

<? 
    endforeach; 
    endif; 
?> 
</ul></div> 

Тогда вот где проблема щелочи. Так.

я это эхо страниц контента

<?php the_content(); ?> 

И его эхо последнего Чайлдс контента в области содержимого. Как я могу это сделать, чтобы получить ссылки и получить контент, куда нужно идти?

ответ

1

the_content - это функция, предполагающая, что существует глобальная переменная $post, установленная на все, что вам нужно. По умолчанию wordpress создает экземпляр содержимого текущей страницы/сообщения.

setup_postdata перезаписывает глобальную переменную $post, так что ваш следующий звонок get_permalink автоматически ссылается на $pageChild. Но теперь the_content делает то же самое, поэтому вам нужно как-то сбросить $post на любое значение, которое у него было до того, как вы позвонили setup_postdata.

Лаки для вас, есть function называется wp_reset_postdata, что вам нужно позвонить, что делает именно то, что так выход the_content корректна (относится к первоначальному $post).

+0

Спасибо! Только то, что мне нужно! –