WordPress at a glance

parent_dropdown() WP 1.0

Print out option HTML elements for the page parents drop-down.

  • Global. wpdb. $wpdb WordPress database abstraction object.
  • Since 4.4.0 $post argument was added.
✈ 1 time = 0.001482s = very slow | 50000 times = 52s = very slow

No Hooks.

Return

null/false. Boolean False if page has no children, otherwise print out html elements

Usage

parent_dropdown( $default, $parent, $level, $post );
$default(int)
The default page ID to be pre-selected.
Default: 0
$parent(int)
The parent page ID.
Default: 0
$level(int)
Page depth level.
Default: 0
$post(int/WP_Post)
Post ID or WP_Post object.
Default: null

Code of parent_dropdown: wp-admin/includes/template.php VER 5.0.1

<?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( '&nbsp;', $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;
	}
}

Related Functions

From tag: _dropdown (select options list)

More from category: Pages

No comments
    Hello, !     Log In . Register