/ Wordpress / Filter и Action

Filter и Action

HIT

26.04.2016

1500

У wordpress’а есть два так называемых хука: action и filter. Хуки служат для того чтобы исполнять различные функции.
В самом ядре заложено множество своих action (экшн) и filter(фильтр).

Action

Исходный экшн выглядит так

add_action('action_name', 'your_function_name');
 
function your_function_name() {
// Ваш код
}

Filter

Исходный фильтр выглядит так

add_action('action_name', 'your_function_name');
 
function your_function_name() {
// Ваш код
}

Локализовать функцию только для фронтэнда

Оборачиваем функцию в условие !is_admin() — не админка, если нужно наоборот только для админки нужно убрать !

// Lazyload для миниатюр

if ( !is_admin() ) {
  
add_filter( 'wp_get_attachment_image_attributes', 'alter_att_attributes_wpse');

function alter_att_attributes_wpse($attr) {
  
	
  $attr['data-original'] = $attr['src'];
  $attr['src'] = '/wp-content/themes/tester/images/transparant.gif';
  $attr['class'] = 'lazy';
  $attr['srcset'] = ' '; // Отключение адаптивности изображений
  return $attr;
	
  }
  
}

Показать все фильтры влияющие на конкретную функцию

Прописываем функцию

function print_filters_for( $hook = '' ) {
    global $wp_filter;
    if( empty( $hook ) || !isset( $wp_filter[$hook] ) )
        return;

    print '<pre>';
    print_r( $wp_filter[$hook] );
    print '</pre>';
}

Там где необходимо вывести информацию вставляем вызов и указываем необходимую функцию

<?php print_filters_for( 'get_the_excerpt' ); ?>

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

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

Пока нет комментариев. Будь первым!

Filter и Action
Удаление записей при импорте
Рекомендации для васУдаление записей при импортеOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.