Использование переменных $_GET в URL?
Мне нужно сгенерировать простое сообщение об ошибке на странице, передавая переменную через URL.
URL имеет следующую структуру:
http://site.com/parent-category/category/?error=pause
Я уверен, что это связано с перезаписью постоянных ссылок (permalinks), но не знаю, как это исправить.

Попробуйте добавить переменную в массив WordPress 'recognised query variables'...
add_filter('query_vars', 'my_register_query_vars' );
function my_register_query_vars( $qvars ){
// Добавляем переменную запроса в массив $qvars
$qvars[] = 'my_error';
return $qvars;
}
Затем значение 'my_error' можно получить с помощью get_query_var('my_error')
. (См. Кодекс)
РЕДАКТИРОВАНИЕ
Согласно комментарию Otto, лучше сделать так:
add_action('init','add_my_error');
function add_my_error() {
global $wp;
$wp->add_query_var('my_error');
}

Я бы не использовал именно этот фильтр. У нас есть функции, которые следует использовать для этого вместо него.
add_action('init','add_my_error'); function add_my_error() { global $wp; $wp->add_query_var('my_error'); }

Круто. На самом деле это не так уж важно, просто я предпочитаю не использовать глубокие хуки, когда можно обойтись поверхностными. :)

Это был единственный способ, который сработал
add_action('init','add_query_args');
function add_query_args()
{
add_query_arg( 'error', 'pause' );
}
