Jak umieścić inną stronę pod treścią innej strony? – WordPress

Wcześniej pisałam już o umieszczaniu postów na statycznej stronie, nie pokazałam jednak sposobu na umieszczenie na niej innej strony lub stron. W ten sposób na przykład można wyświetlić podstrony na stronie rodzica np. w ofercie wyświetlić dodane produkty.

wordpress-api-e1352197853955W efekcie otrzymać można coś w rodzaju bloga tyle że z wykorzystaniem stron a nie postów. Nic również nie stoi na przeszkodzie by wyświetlona została inna strona nie powiązana bezpośrednio.

Wszystkie podstrony/strony potomne od strony (widoczne jako rozwinięcie menu) można wyświetlić za pomocą kodu:

<? $parent = end(get_post_ancestors(get_queried_object_id())); ?>
   <? $pages = get_pages('title_li=&parent='.get_queried_object_id()) ?>
    <? foreach($pages as $item): ?>
      <div class="">
       <?php echo get_the_post_thumbnail( $item->ID, $size, $attr ); ?>
       <h3 class="entry-title"><a href="<? echo get_page_link($item->ID) ?>"><? echo $item->post_title ?></a></h3>
      </div> 
<? endforeach; ?>

W skrócie kod ustala id strony na której się znajduje i wyszukuje stron, których jest rodzicem.

Kod wyświetlający dowolną stronę wygląda zdecydowanie inaczej. Podajemy w nim ID strony w przykładzie jest to „6556”.

<div>
   <?php $recent = new WP_Query("page_id=6556"); 
      while($recent->have_posts()) : $recent->the_post();?>
    <h3 class="entry-title"><?php the_title(); ?></h3>
      <div class="oferta">
        <?php echo get_the_post_thumbnail(); ?>
         <a href="<? echo get_page_link($item->ID) ?>"><div class="dalej">ZOBACZ WIĘCEJ</div></a>
      </div>
   <?php endwhile; ?>
</div>

Powyższe kody są dość uproszczone i umożliwiają jedynie wyświetlenie obrazka, tytułu i odnośnika do strony. W celu uzyskania opisu lub jego fragmentu trzeba go trochę zmodyfikować.

O ile nie posiadamy zainstalowanej wtyczki umożliwiającej korzystanie z PHP w treści stron kod należy umieścić w szablonie strony.

Jeżeli macie jakieś uwagi lub pytania możecie zawsze wpisać je w formie komentarza pod konkretnym wpisem.