html = $html; $this->renderedViews = []; } protected function getRowMarkup(FieldMeta $fieldMeta, Item $item): string { $fieldId = $item->field->id; return sprintf("\r\n\t\r\n", esc_html($fieldId)) . $this->html->viewRow( 'row', "\t", $item->field->id, $item->field->label, '$' . $item->field->id . '$', false ) . sprintf("\t\r\n", esc_html($fieldId)); } public function getMarkup(AcfViewData $view, int $pageId, string $viewMarkup = ''): string { if (! $viewMarkup) { $fieldsMeta = $view->getFieldsMeta(); // e.g. already filled for cache/tests if (! $fieldsMeta) { $view->setFieldsMeta(); $fieldsMeta = $view->getFieldsMeta(); } $content = ''; foreach ($view->items as $item) { $content .= $this->getRowMarkup($fieldsMeta[$item->field->getAcfFieldId()], $item); } $viewMarkup = $this->html->view($view->getSource(), $view->cssClasses, $content); } if (! $pageId) { return $viewMarkup; } if (! key_exists($view->getSource(), $this->renderedViews)) { $this->renderedViews[$view->getSource()] = $view; } return $viewMarkup; } public function getRenderedViews(): array { return $this->renderedViews; } }