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