@hurdcor

Wordpress + Contact Form 7 как генерировать в 1 текстовый файл все опросы?

Wordpress + Contact Form - создал форму опроса .... клиент заполняет а ответы норм. приходит на почту.... - но нужно чтоб все опросы скидывались в текстовый , в 1 текстовый файл не эксель .... В файле будут храниться все опросы - 1 строка -1 опрос
  • Вопрос задан
  • 349 просмотров
Решения вопроса 1
@hurdcor Автор вопроса
/* загрузка картинки по заданному URL or path */
function my_media_handle_upload(
$file_url,
$post_id,
$post_data = array(),
$overrides = array( 'test_form' => false )) {

$time = current_time('mysql');
if ( $post = get_post($post_id) ) {
if ( substr( $post->post_date, 0, 4 ) > 0 )
$time = $post->post_date;
}

//получение файла и создание его временной копии
$file = file_get_contents($file_url);
if (!empty($file)) {
$tmpfname = tempnam(sys_get_temp_dir(), 'EX_');
$temp = fopen($tmpfname, "wb");
fwrite($temp, $file);
fclose($temp);

//имитируем загрузку временного файла
$file_id = 'myfile';
$_FILES[$file_id] = array(
'name' => basename($file_url),
'type' => mime_content_type($tmpfname),
'size' => filesize($tmpfname),
'tmp_name' => $tmpfname,
);
} else {
return 0;
}

require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-admin/includes/file.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-admin/includes/image.php';

$name = $_FILES[$file_id]['name'];
$file = _wp_handle_upload($_FILES[$file_id], $overrides, $time, 'user-export');

if ( isset($file['error']) ) {
return new WP_Error( 'upload_error', $file['error'] );
}

$name_parts = pathinfo($name);
$name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) );

$url = $file['url'];
$type = $file['type'];
$file = $file['file'];
$title = $name;
$content = '';
$excerpt = '';

if ( 0 === strpos( $type, 'image/' ) && $image_meta = @wp_read_image_metadata( $file ) ) {
if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
$title = $image_meta['title'];
}

if ( trim( $image_meta['caption'] ) ) {
$excerpt = $image_meta['caption'];
}
}

// Construct the attachment array
$attachment = array_merge( array(
'post_mime_type' => $type,
'guid' => $url,
'post_parent' => $post_id,
'post_title' => $title,
'post_content' => $content,
'post_excerpt' => $excerpt,
), $post_data );

// This should never be set as it would then overwrite an existing attachment.
unset( $attachment['ID'] );

// Save the data
$id = wp_insert_attachment($attachment, $file, $post_id);
if ( !is_wp_error($id) ) {
wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
}

return $id;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Justik99
@Justik99
Изучаю WordPress путем поломок своей психики!
Ну так-то это бред полный.
Как по мне, это лучше написать свою форму и в ней сделать сохранение в файл, что будет быстрее
Ответ написан
Комментировать
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Установить плагин Flamingo, дождаться писем с ответами на опрос, нажать кнопку «Экспорт», получить csv-файл.

Или подобрать хук в Contact Form 7 (как-то использовал wpcf7_posted_data для изменения содержимого письма, может и для этой задачи подойдет) и сделать сохранение в файл самостоятельно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы