Рубрика: Разное

Как защититься от спама с помощью подмены полей?

Сообщение для спаммеров

Предлагаю вам воспользоваться уже давно известным и проверенным способом защиты от спама через подмену полей. В чем он заключается? В создании дополнительного поля для ввода комментария с одновременным скрытием стандартного поля. Спам-скрипты пытаются заполнить скрытое стандартное поле с именем 'comment' и в результате не проходят проверку. Данный способ с подменой полей успешно работает уже более 10 лет, так как спаммерам лень писать "умные" скрипты, которые могли бы изображать из себя реального человека. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как починить и оптимизировать InnoDB таблицы в базе данных?

Починка базы данных

В случае поломки базы данных на таблицах с типом MyISAM вы можете зайти в phpMyAdmin и выполнить в нем проверку\починку\оптимизацию. Скрипт phpMyAdmin установлен у 99% хостеров, поэтому с этим проблем не возникнет. Но что делать, если база данных сломалась, а phpMyAdmin отказывается ее чинить, выдавая сообщение "The storage engine for the table doesn’t support repair"? Такое сообщение phpMyAdmin выдаст, так как не умеет чинить InnoDB таблицы. На самом деле паниковать рано - в WordPress есть свой собственный скрипт починки базы данных, который работает с любым типом таблиц. Для активации этого скрипта вам необходимо добавить в файл wp-config.php вашего сайта следующий код:

Как защититься от спаммеров с помощью .htaccess?

Мало кто знает, но в кодексе описан весьма эффективный способ защиты от спама с помощью директив в .htaccess. Это, так называемая, серверная защита от спама - она не требует установки какого-либо плагина или изменения кода темы. Вам достаточно добавить в файл .htaccess в корне вашего сайта следующий код:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*testwp.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

Как запретить уведомления об успешном обновлении WordPress?

Уведомление об успешном обновлении

Начиная с версии 3.7, WordPress научился автообновляться на минорные версии. При каждом таком обновлении администратору сайта присылается email-уведомление. Это хорошо, если у вас пара-тройка сайтов, но весьма напрягает, если сайтов несколько десятков и каждый из них присылает вам уведомление об успешном обновлении. Избавиться от таких уведомлений очень просто, для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как включить debug-режим с помощью специального урла?

Debug режим по запросу

Debug-режим включает режим отображения ошибок и это весьма полезная функция на начальной стадии создания сайта. Но держать его все время включенным может быть накладно - функции в WordPress время от времени устаревают и тогда с очередным обновлением движка на вашем сайте вдруг появится куча сообщений об ошибках, которые будут видны всем посетителям сайта. Идеальным вариантом может быть включение debug-режима по запросу с помощью специального параметра в урле, без необходимости постоянно править файл wp-config.php.

Как удалить устаревшие transients записи в базе данных?

Пример поиска в phpMyAdmin

Формально все transients-записи имеют срок истечения, после которого они должны удаляться из базы данных. Но так происходит далеко всегда - иногда плагины или темы ставят слишком большой срок действия transients-записей, а иногда они просто криво добавлены. В любом случае, если вам смущает большое число таких записей и вы хотите от них избавиться, то вы должны использовать следующий sql-запрос:

Как в php правильно склонять русские слова после чисел?

Примеры склонения слов

Перед разработчиками очень часто встает задача правильного склонения русских слов после чисел. Если вы пишите плагин или тему под WordPress, то эту задачу можно переложить на файлы локализации (там можно прописать различные формы в соответствии с выбранным языком локализации). Но как правильно склонять слова без файлов локализации? Предлагаю вам использовать такую функцию: