Хаки для WordPress. Часть 4

Сегодня я рассмотрю 2 хака для админки и один супер полезный sql хак.

1. Отключаем автосохранение статей

В WordPress при публикации постов есть функция автосохранения, через несколько минут после изменений в тексте, система сохраняет статью заново. Эта функция полезна в том случае, если при редактировании статьи внезапно отключится компьютер или браузер. Статья естественно сохранится и не нужно будет ее добавлять заново. Кому-то эта функция может не нравится, в этом случае ее можно отключить. Делается это легко. Откройте файл functions.php вашего шаблона и в самом конце перед символами

?>

вставьте функцию

function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

2. Отключаем автоматическое форматирование в редакторе WordPress.

Еще один хак для редактора WordPress. Замечали наверно, что при добавлении текста в окно редактора, то обычные кавычки “” меняются на “” (прямые на кривые). Это может плохо отобразится, если эти кавычки использовать в каком-либо скрипте. Компилятор может не распознать эти кавычки, и не распознать весь код. Для того чтобы отключить автоматическое форматирование, в том же functions.php прописать

function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}

return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);

Все, теперь для того чтобы часть текста не редактировался автоматически, заключаем его в теги

[raw][/raw]

3. Удаление всех спам комментариев за 1 секунду

Как я уже говорил, этот хак – хак базы данных. Когда долгое время отсутствуешь, и не заходишь удалять спам комментарии, их может накопиться очень много и чтобы удалить потребуется некоторое время. Но есть один способ (вернее хак), с помощью которого вы удалите все спам комментарии за несколько секунд. Зайдите в PhpMyAdmin и выберите вашу базу данных. Далее нажмите кнопку SQL и вставьте в окно следующую команду

DELETE FROM wp_comments WHERE comment_approved = '0';

Спам комментариев как и небыло.