Walker_Comment::start_el( string $output, WP_Comment $data_object, int $depth, array $args = array(), int $current_object_id )

Starts the element output.

Description

See also

Parameters

$outputstringrequired
Used to append additional content. Passed by reference.
$data_objectWP_Commentrequired
Comment data object.
$depthintoptional
Depth of the current comment in reference to parents. Default 0.
$argsarrayoptional
An array of arguments.

Default:array()

$current_object_idintoptional
ID of the current comment. Default 0.

Source

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.
	$comment = $data_object;

	++$depth;
	$GLOBALS['comment_depth'] = $depth;
	$GLOBALS['comment']       = $comment;

	if ( ! empty( $args['callback'] ) ) {
		ob_start();
		call_user_func( $args['callback'], $comment, $args, $depth );
		$output .= ob_get_clean();
		return;
	}

	if ( 'comment' === $comment->comment_type ) {
		add_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40, 2 );
	}

	if ( ( 'pingback' === $comment->comment_type || 'trackback' === $comment->comment_type ) && $args['short_ping'] ) {
		ob_start();
		$this->ping( $comment, $depth, $args );
		$output .= ob_get_clean();
	} elseif ( 'html5' === $args['format'] ) {
		ob_start();
		$this->html5_comment( $comment, $depth, $args );
		$output .= ob_get_clean();
	} else {
		ob_start();
		$this->comment( $comment, $depth, $args );
		$output .= ob_get_clean();
	}

	if ( 'comment' === $comment->comment_type ) {
		remove_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40 );
	}
}

Changelog

VersionDescription
5.9.0Renamed $comment to $data_object and $id to $current_object_id to match parent class for PHP 8 named parameter support.
2.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.