isNew()) { return; } if ($email->get('field_daily_email_cta')->getValue() !== []) { return; } if (str_contains(haystack: $email->get('body')->value, needle: 'P.S.')) { return; } $nodeStorage = $this->entityTypeManager->getStorage('node'); $query = $nodeStorage->getQuery(); $query->condition('status', NodeInterface::PUBLISHED); $query->condition('type', 'daily_email_cta'); $query->accessCheck(); $ctaNodes = $nodeStorage->loadMultiple($query->execute()); $ctas = Ctas::fromNodes($ctaNodes); if ($ctas->isEmpty()) { return; } $email->set('field_daily_email_cta', $ctas->getRandomCta()); } }