Walker_Comment::display_element() WordPress Method

The Walker_Comment::display_element() method is used to display a comment element. This method is called by theWalker class when walking through the comment tree.

Walker_Comment::display_element( WP_Comment $element, array $children_elements, int $max_depth, int $depth, array $args, string $output ) #

Traverses elements to create list from elements.


Description

This function is designed to enhance Walker::display_element() to display children of higher nesting levels than selected inline on the highest depth level displayed. This prevents them being orphaned at the end of the comment list.

Example: max_depth = 2, with 5 levels of nested content. 1 1.1 1.1.1 1.1.1.1 1.1.1.1.1 1.1.2 1.1.2.1 2 2.2

Top ↑

See also


Top ↑

Parameters

$element

(WP_Comment)(Required)Comment data object.

$children_elements

(array)(Required)List of elements to continue traversing. Passed by reference.

$max_depth

(int)(Required)Max depth to traverse.

$depth

(int)(Required)Depth of the current element.

$args

(array)(Required)An array of arguments.

$output

(string)(Required)Used to append additional content. Passed by reference.


Top ↑

Source

File: wp-includes/class-walker-comment.php

	public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
		if ( ! $element ) {
			return;
		}

		$id_field = $this->db_fields['id'];
		$id       = $element->$id_field;

		parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );

		/*
		 * If at the max depth, and the current element still has children, loop over those
		 * and display them at this level. This is to prevent them being orphaned to the end
		 * of the list.
		 */
		if ( $max_depth <= $depth + 1 && isset( $children_elements[ $id ] ) ) {
			foreach ( $children_elements[ $id ] as $child ) {
				$this->display_element( $child, $children_elements, $max_depth, $depth, $args, $output );
			}

			unset( $children_elements[ $id ] );
		}

	}


Top ↑

Changelog

Changelog
VersionDescription
2.7.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.