Walker_PageDropdown::start_el()
Starts the element output.
Method of the class: Walker_PageDropdown{}
Hooks from the method
Return
null
. Ничего (null).
Usage
$Walker_PageDropdown = new Walker_PageDropdown(); $Walker_PageDropdown->start_el( $output, $data_object, $depth, $args, $current_object_id );
- $output(string) (required) (passed by reference — &)
- Used to append additional content. Passed by reference.
- $data_object(WP_Post) (required)
- Page data object.
- $depth(int)
- Depth of page in reference to parent pages. Used for padding.
- $args(array)
- Uses 'selected' argument for selected page to set selected HTML attribute for option element. Uses 'value_field' argument to fill "value" attribute. See wp_dropdown_pages().
Default: empty array - $current_object_id(int)
- ID of the current page.
Notes
- See: Walker::start_el()
Changelog
Since 2.1.0 | Introduced. |
Since 5.9.0 | Renamed $page to $data_object and $id to $current_object_id to match parent class for PHP 8 named parameter support. |
Walker_PageDropdown::start_el() Walker PageDropdown::start el code WP 6.3
public function start_el( &$output, $data_object, $depth = 0, $args = array(), $current_object_id = 0 ) { // Restores the more descriptive, specific name for use within this method. $page = $data_object; $pad = str_repeat( ' ', $depth * 3 ); if ( ! isset( $args['value_field'] ) || ! isset( $page->{$args['value_field']} ) ) { $args['value_field'] = 'ID'; } $output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $page->{$args['value_field']} ) . '"'; if ( $page->ID === (int) $args['selected'] ) { $output .= ' selected="selected"'; } $output .= '>'; $title = $page->post_title; if ( '' === $title ) { /* translators: %d: ID of a post. */ $title = sprintf( __( '#%d (no title)' ), $page->ID ); } /** * Filters the page title when creating an HTML drop-down list of pages. * * @since 3.1.0 * * @param string $title Page title. * @param WP_Post $page Page data object. */ $title = apply_filters( 'list_pages', $title, $page ); $output .= $pad . esc_html( $title ); $output .= "</option>\n"; }