Intereting Posts
Проблемы с смешанным контентом и истекшим сеансом с SSL и wp-admin Пользовательский запрос с meta_key не работает нормально Получить данные корзины из идентификатора заказа в woocommerce? Петля на статической странице Использование настраиваемого поля вместо исходного поля заголовка, но только для пользовательского типа сообщения Почтовая разбивка на страницы с одинаковыми сообщениями на каждой странице Есть ли крючок или фильтр при добавлении нового пользователя в WordPress? Все обновленные плагины исчезли Тип персонализированного сообщения: Получить последнее обновление Существуют ли какие-либо угрозы безопасности при отправке данных атрибутов данных через AJAX? в моих отрывках отсутствует ссылка «больше» Информация Woocommerce для формирования Комментарий Уокер против Обратной связи Как удалить метку «Архив:» из заголовка архива Как фильтровать код встраивания изображений на основе типа ссылки

Возвращаемые переменные обратно в шаблон

Если я поставлю функцию, которую я хочу использовать в шаблоне, я могу поместить ее в functions.php

function myfunction(){ echo 'My String'; } 

add_action('myfunction','myfunction');

и в файле шаблона:

 do_action('myfunction'); 

Кажется, это работает только при написании чего-то на экране. Если бы я хотел вернуть переменную на страницу. Например

 function myfunction(){ return 'My String'; } $string = do_action('myfunction'); 

и захватить его, а не печатать. Как мне это сделать?

Для этого есть фильтры.

Пример:

 add_filter( 'template_filter', 'wpse_102706_filter_callback', 10, 2 ); function wpse_102706_filter_callback( $defaults, $case ) { $args = wp_parse_args( array( 'some_key' => 'some_modified_value' ), $defaults ); return $args } 

Затем в вашем шаблоне просто добавьте значения по умолчанию:

 apply_filters( 'template_filter', array( 'some_key' => 'default_val' ), 'single' ); 

Дополнительная информация в Codex о API плагинов .