Intereting Posts
Действительно ли использование высокой памяти с почти никакими плагинами – может ли быть арабский / еврейский текст фактором? Установка плагина (который уже загружен вручную) Как получить Google Maps SQL-> XML-> руководство по отображению маркера карты для работы в WordPress Возврат дополнительных полей при выборе максимального значения мета-ключа из таблицы wp-postmeta Присвоение переменной переменной и ее использование в выражении if Передача переменных запроса в шаблон пользовательской страницы Изменить логотип на основе входящего домена Множественные Loops Breaking Pages TImthumb не работает для абсолютного пути Популярные сообщения – на основе просмотров страниц Отключить редактирование вложений мультимедиа? Как показать несколько типов сообщений в архиве таксономии? WP Настроить проблему обновления Обычный для скриптов, загружаемых после тега тела? Защита паролем страницы с несколькими паролями

Как передать внешнюю функцию WP_REST_Request

Обучение с помощью WP REST Я не уверен, как правильно передать то, что обычно находится в начале формы страницы PHP, в WP_REST_Response . Например:

В начале page-foobar.php если у меня есть:

 // IP ADDRESS function ipAddress() { if (isset($_SERVER['REMOTE_ADDR'])) : $ip_address = $_SERVER['REMOTE_ADDR']; else : $ip_address = "undefined"; endif; return $ip_address; } /* Template Name: Foobar */ 

и нужно использовать $ip_address в:

 function foobar(\WP_REST_Request $request) { if ($ip_address == "undefined") : return new WP_Error( 'bad_ip', 'No IP found', array( 'status' => 404 ) ); endif; } 

как бы я это сделал? Когда я искал, я побежал:

Передайте переменную из одного файла в другой в WordPress, но я не думаю, что было бы хорошей идеей пройти как глобальное. Дальнейшее исследование передачи переменных между файлами в WordPress или PHP, но я уже назвал шаблон в functions.php. Как передать функцию из шаблона в запрос функции, если он хранится в другом файле?

Моим подходом было бы объявить функцию в functions.php а затем вызвать ее, когда вам нужно.

Поскольку вы пытаетесь использовать суперглобалы, вы можете получить к ним доступ в любом месте. Переместите код с вашей page-foobar.php на functions.php вашей темы и используйте это, когда вам нужно получить к нему доступ:

 ipAddress(); 

Таким образом, в вашей функции REST вы можете:

 function foobar(\WP_REST_Request $request) { $ip_address = ipAddress(); if ($ip_address == "undefined") : return new WP_Error( 'bad_ip', 'No IP found', array( 'status' => 404 ) ); endif; }