wppaste
WordPress

Walker

Since
2.1.0
Source
wp-includes/class-wp-walker.php:14
A class for displaying various tree-like structures.

Description

Extend the Walker class to use it, see examples below. Child classes do not need to implement all of the abstract methods in the class. The child only needs to implement the methods that are needed.

Compatibility

WordPress
since 2.1.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Properties · 4

$tree_typestringpublic
What the class handles.
$db_fieldsstring[]public
DB fields to use.
$max_pagesintpublic
Max number of pages walked by the paged walker.
$has_childrenboolpublic
Whether the current element has children or not.

Methods · 9

Source code

#[AllowDynamicProperties]class Walker {	/**	 * What the class handles.	 *	 * @since 2.1.0	 * @var string	 */	public $tree_type; 	/**	 * DB fields to use.	 *	 * @since 2.1.0	 * @var string[]	 */	public $db_fields; 	/**	 * Max number of pages walked by the paged walker.	 *	 * @since 2.7.0	 * @var int	 */	public $max_pages = 1; 	/**	 * Whether the current element has children or not.	 *	 * To be used in start_el().	 *	 * @since 4.0.0	 * @var bool	 */	public $has_children; 	/**	 * Starts the list before the elements are added.	 *	 * The $args parameter holds additional values that may be used with the child	 * class methods. This method is called at the start of the output list.	 *	 * @since 2.1.0	 * @abstract	 *	 * @param string $output Used to append additional content (passed by reference).	 * @param int    $depth  Depth of the item.	 * @param array  $args   An array of additional arguments.	 */	public function start_lvl( &$output, $depth = 0, $args = array() ) {} 	/**	 * Ends the list of after the elements are added.	 *	 * The $args parameter holds additional values that may be used with the child	 * class methods. This method finishes the list at the end of output of the elements.	 *	 * @since 2.1.0	 * @abstract	 *	 * @param string $output Used to append additional content (passed by reference).	 * @param int    $depth  Depth of the item.	 * @param array  $args   An array of additional arguments.	 */	public function end_lvl( &$output, $depth = 0, $args = array() ) {} 	/**	 * Starts the element output.	 *	 * The $args parameter holds additional values that may be used with the child	 * class methods. Also includes the element output.	 *	 * @since 2.1.0	 * @since 5.9.0 Renamed `$object` (a PHP reserved keyword) to `$data_object` for PHP 8 named parameter support.	 * @abstract	 *	 * @param string $output            Used to append additional content (passed by reference).	 * @param object $data_object       The data object.	 * @param int    $depth             Depth of the item.	 * @param array  $args              An array of additional arguments.

Changelog

Introduced in 2.1.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/class-wp-walker.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.