parent_dropdown() – Prints out option HTML elements for the page parents drop-down.

You appear to be a bot. Output may be restricted

Description

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

Usage

$void|false = parent_dropdown( $default_page, $parent_page, $level, $post );

Parameters

$default_page
( int ) optional – Optional. The default page ID to be pre-selected. Default 0.
$parent_page
( int ) optional – Optional. The parent page ID. Default 0.
$level
( int ) optional – Optional. Page depth level. Default 0.
$post
( int|WP_Post ) optional – Post ID or WP_Post object.

Returns

void|false Void on success, false if the page has no children.

Source

File name: wordpress/wp-admin/includes/template.php
Lines:

1 to 31 of 31
function parent_dropdown( $default_page = 0, $parent_page = 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_page
    )
  );

  if ( $items ) {
    foreach ( $items as $item ) {
      // A page cannot be its own parent.
      if ( $post && $post->ID && (int) $item->ID === $post->ID ) {
        continue;
      }

      $pad      = str_repeat( ' ', $level * 3 );
      $selected = selected( $default_page, $item->ID, false );

      echo "\n\t<option class='level-$level' value='$item->ID' $selected>$pad " . esc_html( $item->post_title ) . '</option>';
      parent_dropdown( $default_page, $item->ID, $level + 1 );
    }
  } else {
    return false;
  }
}
 

 View on GitHub View on Trac