@VitaliiMayk

Как вывести сообщения с БД на страницу Contact Form 7?

Есть форма для написания отзывов Contact Form 7, отзывы сохраняются в БД с помощью плагина Advanced Contact form 7 DB. Как вывести отзывы в нужном месте на странице?)
  • Вопрос задан
  • 310 просмотров
Решения вопроса 1
HectorPrima
@HectorPrima
программист
<?php
/*
* Template Name: CF7DB
*/

get_header();

$fid = 2945;  // номер формы
$data = array();
$prev = 0;

// получаем список сохраненных полей
$fields = vsz_cf7_get_db_fields($fid, false);

// получаем все данные сохраненные из формы
// сюда еще фильтр нужно для пагинации или просто ограничения
$query = "SELECT * FROM `".VSZ_CF7_DATA_ENTRY_TABLE_NAME."` WHERE `cf7_id` = ".$fid." ORDER BY `data_id` DESC";
$result = $wpdb->get_results($query);

// формируем массив $data со списком данных, разворачивая из линейного в массив
$one = array();
foreach($result as $row)
{
    if ($prev != 0 && $row->data_id != $prev)
    {
    	$data[] = $one;
		$one = array();
    }
    foreach($fields as $field)
    {
    	if ($row->name == $field)
        	$one[$field] = $row->value;
    }
    $prev = $row->data_id;
}
$data[] = $one;

// если есть какие либо данные выводим в простую таблицу для отображения
if (count($data))
{
	echo '<table>';
	echo "<tr>";
    foreach($fields as $field)
    {
    	echo '<td style="padding:5px">';
        echo "<strong>", $field, "</strong>";
    	echo "</td>";
    }
	echo "</tr>";
    foreach($data as $d)
    {
		echo "<tr>";
        foreach($fields as $field)
        {
        	echo '<td style="padding:5px">';
            echo $d[$field];
        	echo "</td>";
        }
		echo "</tr>";
    }
	echo "</table>";
}

get_footer();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!
Создайте шаблон страницы, а потом при помощи WP_Query, если это кастомный пост или при помощи wpdb извлеките данные из БД. Пройдитесь циклом и добавьте данные.
А для удобства, вообще я бы рекомендовал использовать:
1) кастомный тип записи + кастомные поля (плагин ACF)
2) А дальше при помощи WP_Query выводите отзывы и все...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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