2014-02-05 3 views
0

У меня есть сайт Wordpress, вызывающий .php-файл на нашем сервере с использованием короткого кода. Цель состоит в том, чтобы вернуть параметры запроса в форму Wordpress с помощью скрытых полей.

Вот проблема: $ _GET ['param'], похоже, не работает для любого ключа «param». Например, у меня есть следующий код в моей функции SHORTCODE:

ChromePhp::log('Test Output'); 
ChromePhp::log($_GET['test']); 
ChromePhP::log($_SERVER['QUERY_STRING']); 

Я установил PHP протоколирования плагин, так что я могу видеть вывод PHP из консоли JavaScript Chrome. Когда я иду в URL mysite.com/properpage?test=testparam Выход:

Test Output 
null 
null 

Я не уверен, если это уместно, но когда я иду в URL с соответствующими параметрами запроса (? test = testparam), url сбрасывает себя и очищает параметры запроса от конца.

Я чувствую, что мне не хватает чего-то простого. Или Wordpress может блокировать параметры запроса где-то для этой страницы, чтобы очистить URL-адрес?

Как предложил Стиву в комментарии, я добавил следующее в файл functions.php, где моя функция шорткод:

add_action('init','wpse46108_register_param'); 
function wpse46108_register_param() { 
    global $wp; 
    $wp->add_query_var('test'); 
} 

Но

ChromePhp::log(get_query_var('test')); 

до сих пор пустой вывод, когда я добавляю запрос param? test = test.

+0

устанавливается ваш Wordpress, чтобы использовать пермалинки/Дружественные URL? Если это так, возможно, параметры не передаются ... попробуйте использовать метод, описанный на: http://wordpress.stackexchange.com/questions/46108/wordpress-and-get-params – steve

+0

Мы используем постоянные ссылки .. день & имя формат. Похоже, что это решение может быть на правильном пути, но оно все еще не исправляет его. Я обновил вопрос, чтобы описать, что я сделал. – cyk

ответ

0

Использование get_query_var функции() для получения строки запроса переменных