Act on the view before the query is built, but after displays are attached.
Output can be added to the view by setting $view->attachment_before and $view->attachment_after.
\Drupal\views\ViewExecutable $view: The view object about to be processed.
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
function hook_views_pre_build(ViewExecutable &$view) {
// Because of some unexplicable business logic, we should remove all
// attachments from all views on Mondays.
// (This alter could be done later in the execution process as well.)
if (date('D') == 'Mon') {
unset($view->attachment_before);
unset($view->attachment_after);
}
}