WordPress: полезные «крючки» и фильтры

Wordpress: "крючки" и фильтры

Действия «крючков» (hooks) и фильтров (filters) очень полезны в WordPress. Они позволяют «зацепиться» пользовательской функции к существующей функции и изменять свойства и функционал WordPress без редактирования файлов ядра. Вот 9 практических примеров WordPress «крючков» и фильтров.

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

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

add_filter('jpeg_quality', function($arg){return 100;});

Источник: http://www.wprecipes.com/prevent-wordpress-to-compress-your-jpg-images

Добавить атрибут «blank» для всех ссылок

Если вам нужно преобразовать все ссылки на target=»_blank» ссылки, здесь есть простое решение. Эта функция должна быть вставлена в вашем functions.php файле:

function wdc_no_more_jumping($post) {
return ''.'Continue Reading'.'';
}
add_filter('excerpt_more', 'wdc_no_more_jumping');

Источник: http://www.catswhocode.com/blog/snippets/add-target_blank-on-all-link

Автоматически заменить слова в сообщениях

Представьте себе: ваш блог был назван «MyBlog» и по какой — то причине, вы решили переименовать его, но не вручную же редактировать свои сообщения, чтобы заменить каждое вхождение на «mysuperblog»? Вместо этого, вставьте этот полезный «hook» в ваш functions.php файл и пусть он сделает всю работу автоматически за вас:

function replace_text_wps($text){
$replace = array(
// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
'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');

Источник: http://wpsnipp.com

Добавить пользовательскую страницу навигации для WooCommerce

WooCommerce, как WordPress, не используйте навигацию по страницам по умолчанию. Это может быть легко изменено на WordPress с плагином WP PageNavi. При использовании WooCommerce, это требует немного «хака» для работы.

Первое, что нужно сделать, это установить WP PageNavi. После этого, просто откройте functions.php файл и вставьте в него следующий код:

remove_action('woocommerce_pagination', 'woocommerce_pagination', 10);
function woocommerce_pagination() {
wp_pagenavi();
}
add_action( 'woocommerce_pagination', 'woocommerce_pagination', 10);

Источник: http://wpsnacks.com/wordpress-tutorials/how-to-add-custom-pagination-page-navigation-to-woocommerce/

Режим быстрого технического обслуживания

Иногда вам нужно поставить свой сайт на «паузу» во время выполнения некоторого обслуживания. Многие плагины позволяет вам сделать это, но здесь более простое решение: просто вставьте следующий фрагмент кода в файл 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');

Удалите поле URL из комментария формы

Система комментариев по умолчанию очень часто получает много спама. Если у вас есть данная проблема на вашем сайте, следующий фильтр может быть хорошим подспорьем для того, чтобы предотвратить спам:

function remove_comment_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

Источник: http://www.wprecipes.com/how-to-remove-the-url-field-from-wordpress-comment-form/

Удалить автоссылки в комментариях

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

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

Источник: http://www.wprecipes.com/wordpress-hack-remove-autolinks-in-comments

Если есть, любые другие «крючки» WordPress или фишки, которые вы найдете действительно полезным, напишите о них в комментариях!

WordPress: полезные «крючки» и фильтры
4.8 (95%) - 4

3 thoughts on “WordPress: полезные «крючки» и фильтры”

Добавить комментарий