# ultimate-post/5.0.29/blocks/Advanced_List.php

Post Grid Gutenberg Blocks – PostX, version 5.0.29. 39 lines.

- Page: https://pluginprobe.com/plugins/ultimate-post/5.0.29/code/blocks/Advanced_List.php
- Raw: https://pluginprobe.com/plugins/ultimate-post/5.0.29/raw/blocks/Advanced_List.php
- Modified: 2026-06-30T12:21:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ultimate-post/5.0.29/code/blocks/Advanced_List.php#L10-L20`.

```php
<?php
namespace ULTP\blocks;

defined( 'ABSPATH' ) || exit;

class Advanced_List {
	public function __construct() {
		add_action( 'init', array( $this, 'register' ) );
	}

	public function register() {
		register_block_type(
			'ultimate-post/list',
			array(
				'render_callback' => array( $this, 'render' ),
			)
		);
	}

	public function render( $attr, $content ) {

		if ( ultimate_post()->is_dc_active( $attr ) && isset( $attr['dc'] ) ) {

			$dc_text_val = \ULTP\DCService::get_dc_content_for_rich_text( $attr );
			$text        = isset( $dc_text_val['0'] ) ? $dc_text_val['0'] : '';
			$url         = isset( $dc_text_val['1'] ) ? $dc_text_val['1'] : '';
			// [ $text, $url ] = \ULTP\DCService::get_dc_content_for_rich_text( $attr ); array destructure is not support php 7

			if ( ! empty( $url ) ) {
				$text = '<a href="' . esc_url( $url ) . '">' . wp_kses( $text, ultimate_post()->ultp_allowed_html_tags() ) . '</a>';
			}

			$content = \ULTP\DCService::replace( $content, $text );
		}

		return $content;
	}
}

```
