Полезные хуки и фильтры

Хуки и фильтры – сверхполезная штука в Вордпресс. Они позволяют «цеплять» свою функцию на существующую функцию, что позволяет вам изменить функционал WordPress без редактирования ядра (что, напоминаю, есмь грех смертный). Сегодня я вам расскажу о 10 очень полезных хуках и фильтрах. Прокачай свой WordPress!


Предотвращаем автоматическое сжатие изображений

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

Вставьте следующий код в functions.php для удаления автоматического ресайзинга изображений.

add_filter('jpeg_quality', function($arg){return 100;});
Открывать ссылки в новом окне

Я никогда не был фанатом target="blank", но я всегда удивлялся, как клиенты их любят. Поэтому, если вам нужно сделать так, чтобы ссылки на вашем сайте на вордпресс открывались в новом окне, есть простое решение этого вопроса.

Вставьте следующую функцию в ваш файл functions.php.

function autoblank($text) {
$return = str_replace(' 'заменяем на вот это'
'wordpress' => 'wordpress',
'excerpt' => 'excerpt',
'function' => 'function'
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');
Превьюшки постов в RSS

Вот – классный кусочек кода, который возьмёт миниатюру поста и добавит её в вашу автоматическую RSS-ленту. Вставьте код functions.php. Не забудьте, что вам нужна тема, поддерживающая миниатюры постов.

function cwc_rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '' . get_the_post_thumbnail($post->ID) .
'' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'cwc_rss_post_thumbnail');
add_filter('the_content_feed', 'cwc_rss_post_thumbnail');
Режим техобслуживания на вашем блоге

Иногда, вам требуется «заморозить» ваш блог на время, пока вы чего-то там химичите. Существует хуева туча плагинов для этого, но есть и более простое решение: просто вставьте следующий сниппет в ваш файл functions.php вордпресс-темы, да сохраните. Теперь ваш блог недоступен для любого, у кого нет администраторских прав. Не забудьте удалить код, когда вы закончите свой спиритический сеанс!

function cwc_maintenance_mode() {
if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() )
{
wp_die('Maintenance, please come back soon.');
}
}

add_action('get_header', 'cwc_maintenance_mode');
Удалить ссылку на сайт пользователя в комментариях WordPress

Если кто-то оставляет комментарий, содержащий URL на вашем WordPress-блоге, этот URL будет автоматически преобразован вордпрессом в ссылку. Это может быть полезным, но лично я не очень люблю множество ссылк в комментариях, т.к. это очень напоминает спам.
Удаление автоматических ссылок в Вордпресс осуществляется очень просто: просто вставьте следующий код в ваш functions.php.

remove_filter('comment_text', 'make_clickable', 9);

Источник: php-junior.ru
2013-01-03