haxorqt
Home
Console
Upload
information
Create File
Create Folder
About
:
/
proc
/
self
/
cwd
/
wp-content
/
plugins
/
admin-columns-pro
/
classes
/
Formatter
/
Filename :
RenderShortcode.php
back
Copy
<?php declare(strict_types=1); namespace ACP\Formatter; use AC; use AC\Type\Value; class RenderShortcode implements AC\Formatter { private string $shortcode; public function __construct(string $shortcode) { $this->shortcode = $shortcode; } public function format(Value $value) { $rendered = $this->get_rendered_shortcodes($value->get_value()); return $value->with_value( implode('<br>', $rendered) ); } private function get_rendered_shortcodes(string $content): array { $result = []; if (has_shortcode($content, $this->shortcode)) { preg_match_all("/" . get_shortcode_regex() . "/", $content, $matches); foreach ($matches[2] as $index => $match) { if ($this->shortcode === $match) { $result[] = do_shortcode($matches[0][$index]); } } } return array_filter($result); } }