library; } /** Ruling P13: whether the Divi tools may name library IDs (no library access = never). */ public function libraryIdsVisible(): bool { return $this->library?->revealsIds() ?? false; } /** Readers pass $forWrite = false (trashed entries may be read, like lit-content-get). */ public function load(mixed $postId, bool $forWrite): DiviPage|WP_Error { // Library entries (E1) and Theme Builder layouts (Etappe 3b) through their access, everything else PostGuard. $item = $this->library?->item($postId, $forWrite); $layout = $item === null ? $this->themeBuilder?->layout($postId, $forWrite) : null; $post = $item ?? $layout ?? PostGuard::editable($postId, $this->schema, 'post_id', ! $forWrite); if ($post instanceof WP_Error) { return $post; } $content = (string) $post->post_content; if (! str_contains($content, '