include ($ location. ‘/wp-config.php’);
include ($ location. ‘/wp-load.php’);
include ($ location. ‘/wp-includes/pluggable.php’);
глобальный $ wpdb;
$ form_results = $ wpdb-> get_results («ВЫБЕРИТЕ электронную почту, возраст, пол ОТ покупки_преференции»);
echo ‘<table cellpadding = «0» cellspacing = «0» border = «1»>
<THEAD>
<TR>
<Й> Электронная почта </ й>
<Й> Возраст </ й>
<Й> Пол </ й>
</ TR>
</ THEAD> ‘;
foreach ($ form_results как $ form_results) {
эхо
<TR>
<td> ‘. $ form_results-> электронная почта. </ TD>
<td> ‘. $ form_results-> age. </ TD>
<td> ‘. $ form_results-> пол. </ TD>
</ TR>
«;
}
echo ‘</ tr> </ table>’;
?>
[/исходный код]
Создайте все пользовательские отчеты, которые вы хотите таким образом, и дайте клиенту ссылку на каждый из них. Поскольку им нужно больше отчетов, это так же просто, как создать запрос и затем выполнить любую другую математику, необходимую для выполнения на стороне клиента с помощью JavaScript (хотя правильно структурированный запрос SQL должен приблизить вас к большинству требований к отчетности).
Шаг 4: Защитите свои отчеты
Хотя технически вы можете оставить отчеты свободными для выполнения кем-либо с URL, очевидно, вы не должны этого делать. Используя приведенный выше пример, вся электронная почта, имена и другая пользовательская информация предоставляется любому, у кого есть ссылка.
Итак, давайте играть умно и использовать отчеты в структуре WordPress, которая обеспечивает нам гораздо большую безопасность. В этом примере я потребую, чтобы пользователь вошел в систему как администратор сайта (другие стандартные опции — это редакторы, авторы, участники и подписчики в порядке убывания прав).
Во-первых, мы хотим создать шорткод, чтобы отчеты могли отображаться в записи или на странице. Это можно сделать в файле functions.php вашей темы или в отдельном плагине:
[sourcecode language = ”php”]
add_shortcode ( ‘multipage_email_age_gender_report_sc’, ‘multipage_email_age_gender_report’);
function multipage_email_age_gender_report () {
$ location = $ _SERVER [‘DOCUMENT_ROOT’];
include ($ location. ‘/aeonstrong/wp-config.php’);
include ($ location. ‘/aeonstrong/wp-load.php’);
include ($ location. ‘/aeonstrong/wp-includes/pluggable.php’);
глобальный $ wpdb;
$ form_results = $ wpdb-> get_results (
«
ВЫБЕРИТЕ email, возраст, пол
FROM shopping_preferences
«);
echo ‘<table cellpadding = «0» cellspacing = «0» border = «1»>
<THEAD>
<TR>
<Й> Электронная почта </ й>
<Й> Возраст </ й>
<Й> Пол </ й>
</ TR>
</ THEAD> ‘;
foreach ($ form_results как $ form_results) {
эхо
<TR>
<td> ‘. $ form_results-> электронная почта. </ TD>
<td> ‘. $ form_results-> age. </ TD>
<td> ‘. $ form_results-> пол. </ TD>
</ TR>
«;
}
echo ‘</ tr> </ table>’;
}
?>
[/исходный код]
На данный момент любой, кто может получить доступ к сообщению или странице, может увидеть эти результаты. При желании вы можете использовать встроенную защиту паролем для каждого поста или для каждой страницы — иногда клиентам это нравится. И именно поэтому я включил эту версию вместо того, чтобы переходить прямо к пользовательским отчетам.
Чтобы заблокировать отчеты так, чтобы их могли просматривать только пользователи с ролью администратора, вот общий метод, который проверяет, вошел ли администратор в систему, проверяя, способны ли они выполнить задачу, которую по умолчанию выполняют только администраторы. В данном случае это возможность создать пользователя. Если у них нет разрешения на создание пользователей, они получают сообщение:
[sourcecode language = ”php”]
add_shortcode ( ‘multipage_email_age_gender_report_sc’, ‘multipage_email_age_gender_report’);
function multipage_email_age_gender_report () {
if (current_user_can (‘create_users’)) {
$ location = $ _SERVER [‘DOCUMENT_ROOT’];
include ($ location. ‘/wp-config.php’);
include ($ location. ‘/wp-load.php’);
include ($ location. ‘/wp-includes/pluggable.php’);
глобальный $ wpdb;
$ form_results = $ wpdb-> get_results (
«
ВЫБЕРИТЕ email, возраст, пол
FROM shopping_preferences
«);
эхо
<table cellpadding = «0» cellspacing = «0» border = «1»>
<THEAD>
<TR>
<Й> Электронная почта </ й>
<Й> Возраст </ й>
<Й> Пол </ й>
</ TR>
</ THEAD> ‘;
foreach ($ form_results как $ form_results) {
эхо
<TR>
<td> ‘. $ form_results-> электронная почта. </ TD>
<td> ‘. $ form_results-> age. </ TD>
<td> ‘. $ form_results-> пол. </ TD>
</ TR>
«;
}
echo ‘</ tr> </ table>’;
} // End If
еще {
echo ‘<p> У вас нет прав для просмотра этого отчета. </ p>’;
} // Конец еще
} // Конец multipage_email_age_gender_report ()
[/исходный код]
Вывод
Ну, это должно почти покрыть это! У вас должны быть базовые инструменты, необходимые для создания настраиваемой многостраничной формы в WordPress и возможности безопасного доступа к любым настраиваемым отчетам, которые вы или ваш клиент хотели бы создать.
Я не могу дождаться, чтобы увидеть, что вы все придумали! Пожалуйста, не стесняйтесь поделиться; Вы могли бы даже получить некоторые ценные данные из этого!