parent_dropdown( int $default, int $parent, int $level, int|WP_Post $post = null )
Print out option HTML elements for the page parents drop-down.
Parameters
- $default
-
(Optional) The default page ID to be pre-selected. Default 0.
- $parent
-
(Optional) The parent page ID. Default 0.
- $level
-
(Optional) Page depth level. Default 0.
- $post
-
(Optional) Post ID or WP_Post object.
Default value: null
Return
(null|false) Boolean False if page has no children, otherwise print out html elements
Source
File: wp-admin/includes/template.php
function parent_dropdown( $default = 0, $parent = 0, $level = 0, $post = null ) {
global $wpdb;
$post = get_post( $post );
$items = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'page' ORDER BY menu_order", $parent) );
if ( $items ) {
foreach ( $items as $item ) {
// A page cannot be its own parent.
if ( $post && $post->ID && $item->ID == $post->ID )
continue;
$pad = str_repeat( ' ', $level * 3 );
$selected = selected( $default, $item->ID, false );
echo "\n\t<option class='level-$level' value='$item->ID' $selected>$pad " . esc_html($item->post_title) . "</option>";
parent_dropdown( $default, $item->ID, $level +1 );
}
} else {
return false;
}
}
Changelog
Version | Description |
---|---|
WP-4.4.0 | $post argument was added. |
WP-1.5.0 | Introduced. |