2010-01-10 4 views
1

У меня есть страница («отзывы»). Он имеет 3 подстраницы («дети»): «пресса», «люди», «предприятия».wordpress: Отображение ссылки на последний внук на главной странице

Каждая из подстраниц имеет свои собственные подстраницы (внуки «Свидетельства»), которые являются фактическими файлами отзывов.

Я бы хотел показать на моей главной странице самую последнюю страницу внуков. Как я могу это сделать?

Я попытался с помощью get_pages(), как это:

$myposts = get_pages('number=1&child_of=28&sort_column=post_date&sort_order=desc&parent='); 

Но не повезло: он либо отображает ребенка или ничего.

Ваша помощь будет высоко оценена.

ответ

1

Ну, оказывается, единственный способ заставить его работать - это делать конкретный запрос в базе данных.

Вот запрос и сгенерированный цикл, если у кого-то есть такая же потребность.

$querystr = "SELECT p3.* 

      FROM $wpdb->posts p1 
      LEFT OUTER JOIN $wpdb->posts p2 ON p2.post_parent=p1.ID 
      LEFT OUTER JOIN $wpdb->posts p3 ON p3.post_parent=p2.ID 
      WHERE (p1.post_status = 'publish' AND p1.post_type = 'page' AND p1.ID ='28') AND (p3.post_status = 'publish' AND p3.post_type = 'page') ORDER BY p3.post_date DESC LIMIT 0,1"; 


      $myposts = $wpdb->get_results($querystr, OBJECT); 
      if ($myposts) { 

       foreach($myposts as $post) : 
        setup_postdata($post); 
        $postimageurl = get_post_meta($post->ID, 'post-img', true); 
        $postimageurl = ($postimageurl) ? $postimageurl : '/medias/img/temoignage-banner.jpg'; 
        ?> 

      <div id="importantBanner" style="background-image:url(<?php bloginfo('url'); 
          echo $postimageurl; ?>);margin:0;padding:0;"> 
       <a style="border-width:0" href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>" id="temoignageLink"> 
        <span class="tradeGothic" style="display:block;padding:7px 0 0 20px;font-size:12pt"><?php the_title(); ?></span> 
       </a> 
      </div> 
       <?php endforeach; ?> 
       <? } 
      ?> 
Смежные вопросы