Title: walk_page_dropdown_tree
Published: April 25, 2014
Last modified: May 20, 2026

---

# walk_page_dropdown_tree( mixed $args ): string

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#see-also)
 * [Parameters](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#wp--skip-link--target)

Retrieves HTML dropdown (select) content for page list.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#see-also)󠁿

 * [Walker_PageDropdown::walk()](https://developer.wordpress.org/reference/classes/Walker_PageDropdown/walk/):
   for parameters and return description.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#parameters)󠁿

 `$args`mixedrequired

Elements array, maximum hierarchical depth and optional additional arguments.

## 󠀁[Return](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#return)󠁿

 string

## 󠀁[Source](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#source)󠁿

    ```php
    function walk_page_dropdown_tree( ...$args ) {
    	if ( empty( $args[2]['walker'] ) ) { // The user's options are the third parameter.
    		$walker = new Walker_PageDropdown();
    	} else {
    		/**
    		 * @var Walker $walker
    		 */
    		$walker = $args[2]['walker'];
    	}

    	return $walker->walk( ...$args );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/post-template.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/post-template.php#L1597)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/post-template.php#L1597-L1608)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#related)󠁿

| Uses | Description | 
| [Walker::walk()](https://developer.wordpress.org/reference/classes/walker/walk/)`wp-includes/class-wp-walker.php` |

Displays array of elements hierarchically.

  |

| Used by | Description | 
| [wp_dropdown_pages()](https://developer.wordpress.org/reference/functions/wp_dropdown_pages/)`wp-includes/post-template.php` |

Retrieves or displays a list of pages as a dropdown (select list).

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/walk_page_dropdown_tree/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.3.0](https://developer.wordpress.org/reference/since/5.3.0/) | Formalized the existing `...$args` parameter by adding it to the function signature. | 
| [2.1.0](https://developer.wordpress.org/reference/since/2.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwalk_page_dropdown_tree%2F)
before being able to contribute a note or feedback.