Php 让wordpress wp_列表_页面只列出相关的子项(非常困难)
这是为你们中最聪明的人准备的: 我构建了一个巨大的动态子页面列表器 我有3个级别,下面是一个示例:Php 让wordpress wp_列表_页面只列出相关的子项(非常困难),php,wordpress,Php,Wordpress,这是为你们中最聪明的人准备的: 我构建了一个巨大的动态子页面列表器 我有3个级别,下面是一个示例: 母公司 孩子 子代 子代 孩子 孩子 子代 子代 以下是it需要的工作方式: 在父对象上时,显示以下内容: 父级(当前) 孩子 孩子 孩子 单击具有子项的子项时,需要显示以下内容: 母公司 子级(当前) 子代 子代 孩子 孩子 (如果用户进入子级,将显示相同的内容) 当我遇到麻烦时,我会使用wp\u list\u pages生成列表和深度,以便在需要时显示sub
- 母公司
- 孩子
- 子代
- 子代
- 孩子
- 孩子
- 子代
- 子代
- 孩子
- 父级(当前)
- 孩子
- 孩子
- 孩子
- 母公司
- 子级(当前)
- 子代
- 子代
- 孩子
- 孩子
- 子级(当前)
wp\u list\u pages
生成列表和深度,以便在需要时显示sub,问题是,它会给我堆栈中的所有sub,即使我只需要显示当前页面的sub(或当前页面的祖先的sub,这将是树中的第一个子元素),而隐藏其他sub,给所有的孩子看
因此,它没有显示上面的列表,而是给出了完整的列表:
- 母公司
- 子级(当前)
- 子代
- 子代
- 孩子
- 孩子
- 子代
- 子代
- 子级(当前)
wp_列表_页面
output来解决这个问题,并将当前页面放在顶部,它的子页面就在它下面,其他非打开页面在它下面,但这不是目标
那么,有没有人能弄明白这一点
另请注意:我提出了一个不太符合犹太规范的jQuery解决方案(使用javascript删除不必要的元素),问题仍然存在,我们能让wordpress在没有javascript攻击的情况下完成这项工作吗
$("#side_nav li").not(".current_page_item").not(".current_page_ancestor").not(".current_page_parent").has("ul.children").children("ul.children").remove();
您可以使用
get_children
来实现它
我通常在functions.php中放入一个函数,以便按照正确的顺序进行无意识检索,如
function get_kids($id) {
get_children('post_parent='.$id.'&order=ASC&orderby=menu_order&post_status=publish')
}
这将是一个单独的列表,我知道这个功能。我想要的是:只显示同一wp_列表_页面中当前的子页面。