我现在非常了解javascript,但我是php和wordpress主题构建的新手。我已经搜索了一下,找不到一个看起来像一个非常简单的任务的解决方案,我想要完成的只是获取页面的所有孙子,而不是直接的孩子,就像这样:
组合
我的页面是“投资组合”,我想“get_pages”,但只有“投资组合”的孙子,所以在这种情况下它只返回: - “孙子1A”,“孙子1B”,“孙子” 2A“,”孙子2B“。
<?php
$portfolio = get_pages( array(
'child_of' => $post->ID));
foreach( $portfolio as $page ) {
//My idea here was to check if the page that is being looped through, was a direct child of portfolio, if so then it would skip it.
if($page !== 'child_of' => $post) {
echo $page->post_title;
}
}?>
有什么建议吗?
修改
<?php
$grandchildren = get_pages( array( 'child_of' => $portfolioPageId ) );
foreach( $grandchildren as $grandchild ) {
if($grandchild->post_parent != $portfolioPageId ){
echo $grandchild->post_title;
}}?>
答案 0 :(得分:1)
查看此代码,该代码使用child_of
参数获取投资组合页面ID,并排除post_parent
等于您的投资组合页面ID的网页。
<?php
$grandchildren = get_pages( array( 'child_of' => $portfolioPageId ) );
foreach( $grandchildren as $grandchild ) {
if($grandchild->post_parent != $portfolioPageId ){
// Whatever you need
}
}
答案 1 :(得分:0)
如果您使用的是JS,则可以使用querySelectorAll
。这将返回所有的大子节点。您可以使用它:
var getNodes = document.querySelectorAll("grandparent > parent grandchild");