queryBuilder = $queryBuilder; $this->renderedCards = []; } protected function renderPosts(int $acfViewId, array $postIds): string { $markup = ''; foreach ($postIds as $postId) { $shortcode = sprintf( "[%s view-id='%s' object-id='%s']", Plugin::SHORTCODE, $acfViewId, $postId ); $markup .= do_shortcode($shortcode); } return $markup; } /** * @param AcfCardData $acfCardData * @param int $pagesAmount * * @return string */ protected function renderExtraMarkup($acfCardData, int $pagesAmount): string { return ''; } /** * @param AcfCardData $acfCardData * @param int $pageId * @param int $pageNumber * @param bool $isLoadMore * * @return string */ public function getMarkup($acfCardData, int $pageId, int $pageNumber = 1, bool $isLoadMore = false): string { $markup = ''; $postsData = $this->queryBuilder->getPostsData($acfCardData, $pageNumber); $markup .= ! $isLoadMore ? sprintf('