Архив метки: программирование

Плагин приема платежей woocommers+onpay

wordpress+woocommerce+onpay

Сегодня хочу рассказать о разработанной мной связке для приема платежей woocommers + onpay.

На просторах интернета есть замечательный плагин для wordPress, для создания интернет-магазина — woocommers.

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

Ошибка при формировании архива в PCLZIP

использование PCLZIP в проекте

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

Порыскав в интернете в поисках подходящего архиватора, наткнулся на PCLZIP. Бегло просмотрев код, увидел, что это целиком написанный на PHP архиватор. Без всяких внешне подключаемых модулей, а значит и не зависимый от операционной системы и среды его работы. 🙂 Исполнители очень сильно удивили меня своим решением. Никогда в голове даже не возникало желания написать что-то похожее на PHP. Всегда считал что решать такие задачи нужно на более быстрых языках. C или CPP, например. Но все же решил попробовать. Читать далее

Вывод отображения плагина 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 посетителей сегодня');?>

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

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

Как можно сделать простой слайдер

Слайдер

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

Особо долго не копая сеть на наличие чего-то подходящего, по-быстрому накидал свой вариант слайдера и сделал простую загрузку в него изображений и описаний на основе распространенного плагина Advanced Custom Fields с его дополнительным расширением Repeater Field.

Читать далее