refactor: DiviTextSearch out of the replace-text ability (M2)
The SQL prefilter and the per-page hit computation move to DiviTextSearch; DiviPageLoader::loadWritable serves DiviWriter::page and the dry run; PostStatuses::NOT_CONTENT replaces the duplicated status list (same set, order in the SQL list only). The private log() wrapper is inlined. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
@@ -66,6 +66,17 @@ class DiviPageLoader
|
||||
return new DiviPage($post, $document, NodeIndex::build($document));
|
||||
}
|
||||
|
||||
/** The entry loaded for writing and checked by writable() – the refusal of either step. */
|
||||
public function loadWritable(mixed $postId): DiviPage|WP_Error
|
||||
{
|
||||
$page = $this->load($postId, true);
|
||||
if ($page instanceof WP_Error) {
|
||||
return $page;
|
||||
}
|
||||
|
||||
return $this->writable($page) ?? $page;
|
||||
}
|
||||
|
||||
/**
|
||||
* Additional checks for writing: the type must use the Divi builder, the content must be a
|
||||
* Divi 5 layout (or empty) and saving must not publish a missed schedule (spec §2).
|
||||
|
||||
Reference in New Issue
Block a user