Опубликовано

Recaptcha wordpress

Добрый день. У меня недавно сложилась следующая ситуация. Нужно было добавить рекапчу на страницу wordpress. Но tinymce назойливо вырезает, некоторые контейнеры из страницы/записи. Вместо контейнера, который вырезается из верстки ставим шорткод типа [recaptcha]. Затем регистрируем его в functions.phpfunction add_recap() { static $i = 1; return «<div class=’recaptcha’ id=’recap» . $i++ . «‘></div>»; } add_shortcode(‘recaptcha’, ‘add_recap’);Готово. Объясню зачем там static $i = 1;. Так как id контейнеров рекапчи на странице не должны повторяться, мы делаем счетчик, который не сбрасывается при выходе из функции.Ну и на всякий случай. может кому понадобится. в футере следующий js код<script> var recaptchaIds = []; var CaptchaCallback = function () { $(‘.recaptcha’).each(function () { var id = $(this).attr(«id»); var captcha_id = grecaptcha.render(id, {‘sitekey’: ‘6Ldsmh0TAAAAADa-vRFKL1mdJ1bwjti1Tu9oTf1O’}); recaptchaIds.push(captcha_id); }); }; </script> <script src=»//www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit» async defer></script>Удачи в начинаниях 🙂

читать

Опубликовано

Кэширование в вебе

Кэширование для сайта — очень важная и интересная тема. Сегодня многие ресурсы с кол-вом посетителей до 1000 игнорируют технологию кеширования. Вообще термин кэш — значит буфер с быстрым доступом. для примера кэш в компьютере — это оперативная память или стэк. кэш веб сайта, обычно храниться на жестком диске или если хостинг более продвинутый то на ssd.Сегодня большинство сайтов генерируют html код, посредством серверных языков. Для генерации обычных страничек, которые вы привыкли видеть сервер проделывает цикл событий. В этот цикл обычно входит, обработка запроса до выборки с базы данных + обработка после выборки с бд. Этот цикл супер утрирован. На самом деле на серверной части происходит более сложные манипуляции.После обработки запроса юзер получает результат. Сервер сохраняет этот результат на жесткий диск для последующих запросов к этой же страничке. Так вообщем и работает логика кэширования. Кэш обычно обновляется каждые 24 часа. В недалеком будущем гораздо больше сайтов будут использовать кэширование из-за появления новых технологий и впоследствии библиотек нагрузки на сервер будут рости, что непременно вынудит использовать технологию кэширования. Так же можно убедиться в утолщении среднего размера веб-странички благодаря исследованиям https://habrahabr.ru/post/260651/.Удачного дня. Кэшируйтесь! 🙂

читать

Опубликовано

Скидка от суммы заказа Opencart

Я создал модуль под opencart, который позволяет создать скидку на разные суммы заказов. Прочесть подробнее об этом модуле и скачать его можно по ссылке ниже.Модуль работает на oc 1.5.x-2.2.xссылка Здесь же в комменты можете задавать вопросы

читать

Опубликовано

Проверяем верстку w3 валидатором

Что-бы сайт лучше индексировался необходимо подчистить верстку от незакрытых тэгов, лишних аттрибутов и тд.Для поиска таких проблем существует w3 валидаторНапример мы хотим проверить наш сайт на wordpress.Основные страницы которые, необходимо проверить:url главной страницы — файл в шаблоне index.phpurl страницы любой записи — single.phpurl категории — category.php/li>url архива — archive.phpurl поисковой выдачи — search.php

читать

Опубликовано

Сумма всех завершенных заказов пользователя oc 2.x

При написании модулей типа накопительная скидка для новых версий oc эта функция может стать полезна.private function getSummAllCompletedOrders() { $this->load->model(‘account/order’);//load model $sum = 0; $complete_status_value = ‘5’; $orders = $this->model_account_order->getOrders(); foreach ($orders as $order) { $order_details = $this->model_account_order->getOrder($order[‘order_id’]); if ($order_details[‘order_status_id’] == $complete_status_value) $sum+=$order_details[‘total’];//суммируем } return $sum; } Код максимально просто. Дерзайте!

читать

Опубликовано

Подкючаем js в wordpress правильно

JS может быть инлайновым(inline) и внешним(external).Если вы не в теме о вышесказанном, вот здесь можно ознакомиться http://javascript.ru/tutorial/foundation/start.Мы будем подключать js в футер. Почему именно туда? Подключая js в футер мы имеем следующие преимуществаВсе элементы DOM будут доступны для js, который загружается.Не будет препятствовать загрузке DOM структурыЕсли вы используете jquery. Вы можете смело опускать $(document).ready(function () {…}), т.к к моменту выполнения скриптов DOM будет полностью прогружен.Еще один важный момент. Первыми подключим внешние скрипты, а затем инлайновые. Найдем в нашей wp теме файлик functions.php и добавим функцию, которая поставит в очередь на добавление необходимые нам скрипты. Допустим нам необходимо подключить jquery.function my_scripts_method() { wp_deregister_script(‘jquery’); wp_register_script(‘jquery’, get_template_directory_uri() . ‘/js/jquery.min.js’, array(), false, true); wp_enqueue_script(‘jquery’); } В этой функции мы используем функции wordpressа.wp_deregister_script(‘jquery’) — Отменяем регистрацию jquery. Вдруг кто-то до нас уже его уже регистрировал. Далее регистрируем свой с помощью функции wp_register_script(). Обратите внимание на последний аргумент функции — true. Он отвечает за добавление скриптов в футер. Информацию о остальных аргументах можно прочесть здесь http://wp-kama.ru/function/wp_register_script.Далее нам напишем функцию печатающую инлайн скриптыfunction print_inline_scripts() { if (wp_script_is(‘jquery’, ‘done’))//проверяем подключен ли jquery echo «js code»;//выводим код, использующий jquery }Наконец вешаем функции на события с помощью add_actionadd_action(‘wp_enqueue_scripts’, ‘my_scripts_method’); add_action(‘wp_footer’, ‘print_inline_scripts’, 100);//100 — понижаем приоритет выводаГотово. В результате хуки сработают и в футере выведутся подключения…

читать