2013-02-20 4 views
1

부모 페이지의 모든 형제 (하위) 페이지의 목록을 만들려고합니다. 그렇게 쉬운 일입니다. 는하지만 각각의 형제 자식 페이지를 태그 한, 난과 같이 내 목록을 정리하고 싶습니다 :태그로 형제 페이지 목록 표시

Term 1 
    - Child/Sibling Page 1 
    - Child/Sibling Page 2 
    - Child/Sibling Page 4 
Term 2 
    - Child/Sibling Page 3 
Term 4 
    - Child/Sibling Page 5 
    - Child/Sibling Page 6 
    - Child/Sibling Page 7 

내가 부모 페이지와 각 형제 자식 페이지에 모두 표시이 목록이 필요합니다. 모든 형제 페이지를 나열하기 위해 지금까지 내가 가진 것은 다음과 같습니다.

<?php if($post->post_parent): ?> 
<?php $children = wp_list_pages('title_li=&child_of='.$post->post_parent.'&echo=0'); ?> 
<?php else: ?> 
<?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0'); ?> 
<?php endif; ?> 
<?php if ($children) { ?> 
<ul class="subpage-list"> 
<?php echo $children; ?> 
</ul> 
<?php } ?> 
+1

여기 조금 혼란 스럽습니다. 'if ($ post-> post_parent) : ...'조건 뒤에있는 블록은 현재 게시물의 모든 형제를 찾으며 최상위 (post_parent가 아닌) 게시물은 현재 게시물의 하위를 찾습니다. 이것은 의도 된 것입니까? ** "부모 페이지의 형제 (하위) 페이지 **"라고 말하면 다소 혼란 스럽습니다. 검색된 페이지를 관련 태그를 기반으로 정리하고 싶지만 더 많은 정보가 필요합니다. 페이지와 태그가 어떻게 관련되는지에 대한 개요를 줄 수 있습니까? 게시물에는 여러 개의 태그가있을 수 있지만 각 페이지를 하나의 태그 아래에 넣고 싶은 것 같습니다. – kjetilh

+0

훌륭한 질문입니다. 내가 더 잘 설명 할 수 있는지 알게 될거야. 부모 페이지가 PARENT 이고 페이지에 여러 하위 페이지가 있습니다. 그 하위 페이지는 모두 서로의 "형제"입니다. 그래서 부모 페이지에 있다면 모든 자녀를 태그별로 나열하고 싶습니다 (페이지에 여러 개의 태그가있는 경우 여러 개의 태그 제목 아래에 나타날 수 있음). 그리고 아이 페이지에 있다면 형제 페이지의 동일한 목록을 태그별로 정리하여 보여주고 싶습니다. 그것은 어떤 것을 명확히합니까? 또한 위의 코드는 모든 자식/형제 페이지를 올바르게 나열하지만, ​​알아낼 수없는 것은 태그 목록을 반복하는 방법입니다. – f8xmulder

답변

0

나는 대답을 생각해 냈습니다. 이 코드는 다소 거칠지 만 필요할 때까지 작동하는 것으로 알 수 있습니다.

<?php 
if($post->post_parent): 
    $postparent = $post->post_parent; 
else: 
    $postparent = $post->ID; 
endif; 

$nextTagThumb='-1'; 
$tags = wp_get_post_tags($postparent); 
foreach ($tags as $tag) : 

    if ($tags) { 
    $what_tag = $tags[($nextTagThumb+'1')]->term_id; 
    $tag_title = $tags[($nextTagThumb+'1')]->name; 
    echo '<div class="Saving_sare">'. "\n"; 
    echo '<h4>'.$tag_title.'</h4>'. "\n"; 
    echo '<ul>'. "\n"; 
    $args=array(
     'tag__in' => array($what_tag), 
     'post__not_in' => array($postparent), 
     'showposts'=>100, 
     'caller_get_posts'=>1 
    ); 
    $my_query = new WP_Query($args); 
    if($my_query->have_posts()) { 
     while ($my_query->have_posts()) : $my_query->the_post(); ?> 
     <li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> 
     <?php endwhile; 
    } 
    echo '</ul>'. "\n"; 
    echo '</div>'. "\n"; 
    wp_reset_query(); 
    $nextTagThumb = ($nextTagThumb+1); 
    } 
endforeach; 
?>