Intereting Posts
Как получить отрывок из последних сообщений что такое каталог кеша в моей теме? (контроль версий?) Как сделать 302 перенаправления «в» WordPress с использованием плагина перенаправления? Как получить список всех пользователей, зарегистрированных до указанной даты? Использование meta_query в add_query_arg jQuery Условные функции при заполнении полей ввода ACF Получать все данные для сообщения через hook в функции function.php если имя пользователя или пароль неверны, wp-login возвращает пустую страницу Pings отключены, но WordPress все еще ищет «to_ping» Как изменить по умолчанию идентификатор электронной почты WordPress для отправленного сообщения электронной почты? Вызов clean_term_cache () завершается с ошибкой при вызове в том же плагине, который создает термины, успешно выполняется при вызове отдельно? wp-Login.php прослушивается Firebug и Chrome отображают два тега тела База данных имен с поисковой системой Таксономия по URL-адресу

Ожидаемый «add_filter» (T_STRING)

Я пытаюсь добавить фильтр для get_avatar, чтобы я мог реализовать выравнивание аватара, но когда я это делаю, я получил ожидаемый «add_filter» (T_STRING

Первый подход

add_filter('get_avatar', 'remove_photo_class'); function remove_photo_class($avatar) { return str_replace(' avatar', $image_align , $avatar); } 

Второй подход

 function mytheme_get_avatar( $myavatar ) { $myavatar = '<img class="'.$image_align.'" src="<' . get_template_directory_uri() . '/images/authors/' . get_the_author_meta('ID', $user_id) . '.jpg" alt="' . get_the_author() . ' ">'; return $myavatar; } //add_filter( 'get_avatar', 'mytheme_get_avatar' ); 

Оба возвращают ту же ошибку. Весь код можно найти здесь, в Пастебине .

Solutions Collecting From Web of "Ожидаемый «add_filter» (T_STRING)"

Вы имеете дело с классом. Большинство из них должно быть внутри метода класса, не считая переменных класса / констант.

Во-вторых, синтаксис немного отличается при добавлении метода класса, а не функции, к крюку.

 function widget( $args, $instance ) { add_filter('get_avatar', array($this,'remove_photo_class')); // the rest of your code } 

Я бы также отредактировал ваш обратный вызов, чтобы удалить себя:

 function remove_photo_class($avatar) { remove_filter('get_avatar', array($this,'remove_photo_class')); return str_replace(' avatar', $image_align , $avatar); } 

Или явно удалите его в конце метода widget :

 function widget( $args, $instance ) { add_filter('get_avatar', array($this,'remove_photo_class')); // the rest of your code remove_filter('get_avatar', array($this,'remove_photo_class')); } 

Или это может испортить вещи в других частях темы.

Вы не можете напрямую добавить в add_filter . Рассматривая первый подход, поместите строку кода

 add_filter('get_avatar', 'remove_photo_class'); 

внутри функции widget . То же самое можно сделать и для второго подхода.