Home / Disable / CCT repeater tree callback
Duplicate Snippet

Embed Snippet on Your Site

CCT repeater tree callback

Code Preview
php
<?php
// Callback pre JetEngine Dynamic Field – vykreslí vnorený repeater ako strom
add_filter( 'jet-engine/listings/allowed-callbacks', function ( $callbacks ) {
	$callbacks['gruppa_render_terms_tree'] = 'Render terms tree';
	return $callbacks;
} );
function gruppa_render_terms_tree( $items, $child_key = 'terms' ) {
	$items = maybe_unserialize( $items );
	if ( empty( $items ) || ! is_array( $items ) ) {
		return '';
	}
	$html = '<ul class="terms-tree">';
	foreach ( $items as $item ) {
		$item = (array) $item;
		$name = isset( $item['name'] ) ? esc_html( $item['name'] ) : '';
		$slug = isset( $item['slug'] ) ? esc_attr( $item['slug'] ) : '';
		$html .= '<li data-slug="' . $slug . '">' . $name;
		if ( ! empty( $item[ $child_key ] ) ) {
			$html .= gruppa_render_terms_tree( $item[ $child_key ], $child_key );
		}
		$html .= '</li>';
	}
	return $html . '</ul>';
}

Comments

Add a Comment