得到孩子的PHP PHP

时间:2014-01-15 13:24:10

标签: php parent-child

我怎样才能得到孩子的孩子? 但不是孩子,只有孩子的孩子。

离。 您的域名为" blabla.com" 您有一个页面,其名称为首页(A)。 有子页面的链接,它们的名称是B 1,2,3,......所以。

在这些子页面中有更多的子页面,名称是C 1,2,3,......所以。

但我想不仅要显示子(B)页面的链接,还要显示子页面(C)的子项。在页面A的不同位置。

所以我希望页面A显示B& C链接,但是在另一个地方。

我正在使用Wordpress。我需要将子页面作为链接,到我的页面A,以及页面B到我的页面A的兄弟姐妹。

<?php 

$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 );
        $thumbnail = get_the_post_thumbnail($pageChild->ID, 'thumbnail', true);
        if ($thumbnail == "") continue; // Skip pages without a thumbnail
        $thumbShort = explode('src="', $thumbnail);
        $thumbnailShortStripped = substr($thumbShort[1], 0, strpos( $thumbShort[1], '"'));
?>
        <li>
            <a href="<?= get_permalink($pageChild->ID) ?>" rel="bookmark">
                <img src="<?= $thumbnailShortStripped; ?>" class="thumbnail" alt="<?= $pageChild->post_title ?>" 0="" />
            </a>
        </li>
<?
    endforeach;
endif;
?>

这是我现在用于检索孩子到我的页面的代码。

1 个答案:

答案 0 :(得分:0)

谢谢大家,我自己想出来了!

<?
$child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT');
$i = 0;
if ( $child_pages ) :
foreach ( $child_pages as $pageChilds ) :
    $gchild_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$pageChilds->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT');
    if($gchild_pages) :
    foreach ($gchild_pages as $pageChild):
    setup_postdata( $pageChild );
    $thumbnail = get_the_post_thumbnail($pageChild->ID, 'thumbnail', true);
    if($thumbnail == "") continue; // Skip pages without a thumbnail

?>
    <a href="<?= get_permalink($pageChild->ID) ?>" rel="bookmark">
       <div class="child-thumb">
      <li> <?= $thumbnail ?></li>
       <div class="child-text"><?= $pageChild->post_title ?></div>
       </div>
    </a>
<?

    endforeach;
    endif;
endforeach;
endif;
?>

谢谢!

-Kev