WordPress父/子页面过滤

时间:2015-03-11 13:53:48

标签: php wordpress

我想创建一个包含两个字段的表单。第一个字段列出所有页面,第二个字段列出第一个字段中所选页面的所有子页面(如果存在)。提交表单后,站点会将用户重定向到所选页面。我该如何实现这个表格?

1 个答案:

答案 0 :(得分:0)

您需要执行AJAX请求才能获得第二个下拉列表。

WordPress中内置了一个获取页面的功能,您可以指定父ID,也可以只显示顶级页面。

下面是代码示例,但您需要以最适合您需求的方式实现它

<?php
$top_level_pages = get_pages(array('parent'=> 0));
?>
<select>
    <?php
    foreach($top_level_pages as $top_level_page) {
        echo '<option>'.$top_level_page['post_title'].'</option>';    
    }
    ?>
</select>

然后,您需要确定用户点击了哪个选项并运行AJAX请求以填充第二个选项。

第二个选择看起来像这样:

<?php
$id = $_GET['page_id']; // get the id of the page from the first select
$child_pages = get_pages(array('child_of'=>$id));
?>
<select>
    <?php
    foreach($child_pages as $child_page) {
        echo '<option>'.$child_page['post_title'].'</option>';    
    }
    ?>
</select>

在此处详细了解get_pages()功能:http://codex.wordpress.org/Function_Reference/get_pages