Вывод отображения плагина WP Statistics в публичную часть сайта

wp-statistic

Встала задача вывести графики статистики, формируемые плагином WP Statistics на странице сайта в публичной его части. Просмотр страницы разрешен только пользователям из группы администраторы

По-умолчанию плагин отображает собранную статистику на отдельной странице в административной части вордпресс.

Немного покопавшись в коде обнаружил, что плагин не проверяет откуда к нему приходят запросы на отображение собранной статистики — из админки или с фронта.

Именно это позволило быстро найти точку, в которую можно было бы делать запросы и получать данные от плагина.

Код получился совсем небольшой. Гораздо больше места и текста в итоге занимает html-обвязка вывода на странице:

<?php
function show_widjet_monitoring($func, $text){
?>
<div class="postbox">
 <div class="handlediv" title="Нажмите для переключения"><br></div>
 <h3 class="hndle ui-sortable-handle"><span><?php echo $text?></span></h3>
 <div class="inside">
 <?php $func();?>
 </div>
</div>

<?php } ?>

Это функция отображения блока статистики. На вход получает в параметре $func имя функции, которая формирует нужный блок отчетности и в параметре $text Заголовок блока.

Далее следует блок вызовов функции на нужной странице сайта.

<?php show_widjet_monitoring('wp_statistics_summary_widget', 'Резюме');?>
<?php show_widjet_monitoring('wp_statistics_browsers_widget', 'Браузеры');?>
<?php show_widjet_monitoring('wp_statistics_referring_widget', 'Лучшие сайты-источники переходов');?>
<?php show_widjet_monitoring('wp_statistics_countries_widget', 'ТОП 10 стран');?>
<?php show_widjet_monitoring('wp_statistics_hitsmap_widget', 'Карта сегодняшних посетителей');?>
<?php show_widjet_monitoring('wp_statistics_hits_widget', 'Хиты статистика');?>
<?php show_widjet_monitoring('wp_statistics_search_widget', 'Поиск двигатель рефералов');?>
<?php show_widjet_monitoring('wp_statistics_words_widget', 'Последние слова поиска');?>
<?php show_widjet_monitoring('wp_statistics_pages_widget', 'ТОП 10 страниц');?>
<?php show_widjet_monitoring('wp_statistics_recent_widget', 'Последние посетители');?>
<?php show_widjet_monitoring('wp_statistics_top_visitors_widget', 'ТОП 10 посетителей сегодня');?>

Названия графиков были взяты из перевода плагина в таком же виде, в каком было скачано из интернета. Смысловая нагрузка некоторых заголовков для меня остается загадкой и по сей день 🙂

Вот такое простое решение можно реализовать на любом сайте, если не хотите пускать определенных людей в админку вордпресс.

Добавить комментарий

или войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *