Как я могу изменить код ниже для прикрепления нескольких файлов к письму, если они генерируются? Когда я добавляю более одного файла, письмо не отправляется. Мой текущий код для прикрепления файлов к письму выглядт так: <br/><br/><pre><code class="php">add_action('wpcf7_before_send_mail', 'custom_attach_files_to_email'); function custom_attach_files_to_email($contact_form) { $submission = WPCF7_Submission::get_instance(); if ($submission) { $uploaded_files = $submission->uploaded_files(); $attachments = array(); foreach ($uploaded_files as $uploaded_file) { $attachments[] = $uploaded_file; } $attachments[] = WP_CONTENT_DIR . '/uploads/files/file.txt'; //$attachments[] = WP_CONTENT_DIR . '/uploads/files/file_2.txt'; $mail = $contact_form->prop('mail'); $mail['attachments'] = implode(',', $attachments); $contact_form->set_properties(array('mail' => $mail)); } }</code></pre><br/><br/> Почему мой код не работает для прикрепления нескольких файлов к письму? Он работает только для одного файла.
Для того чтобы ваш код корректно прикреплял несколько файлов к письму в Contact Form 7 на WordPress, вам нужно изменить способ объединения файлов в переменную $attachments. Вместо использования implode(), используйте просто добавление файлов к массиву $attachments. Вот как вы можете изменить ваш код: ```php add_action('wpcf7_before_send_mail', 'custom_attach_files_to_email'); function custom_attach_files_to_email($contact_form) { $submission = WPCF7_Submission::get_instance(); if ($submission) { $uploaded_files = $submission->uploaded_files(); $attachments = array(); foreach ($uploaded_files as $uploaded_file) { $attachments[] = $uploaded_file; } // Добавляем дополнительные файлы $attachments[] = WP_CONTENT_DIR . '/uploads/files/file.txt'; $attachments[] = WP_CONTENT_DIR . '/uploads/files/file_2.txt'; $mail = $contact_form->prop('mail'); $mail['attachments'] = $attachments; $contact_form->set_properties(array('mail' => $mail)); } } ``` Этот код должен корректно добавить все файлы к письму в Contact Form 7. Вам также необходимо убедиться, что у вас правильные пути к файлам и что они существуют на сервере. Если у вас по-прежнему возникают проблемы с отправкой писем, может быть разумно добавить проверки на ошибки в коде для лучшего понимания, что именно не работает.
$mail = $contact_form->prop( 'mail' ); $mail['attachments'] = $mail['attachments'] . "\n" . WP_CONTENT_DIR . '/uploads/files/file.txt'; $contact_form->set_properties([ "mail" => $mail ]); // Файл будет удален $submission->add_extra_attachments( WP_CONTENT_DIR . '/uploads/files/file.txt' );