Переменные URL Wordpress Custorm вызывает странное перенаправление - PullRequest
1 голос
/ 07 ноября 2011

Я пытаюсь использовать пользовательские переменные в своем URL для сайта Wordpress. Я прочитал столько, сколько смог найти по этому вопросу, и пока у меня на странице функций есть следующее:

function add_query_vars($aVars) {
$aVars[] = "mrdrct";
return $aVars;
}

// hook add_query_vars function into query_vars
add_filter('query_vars', 'add_query_vars');

И следующее на моей шапке:

if(isset($wp_query->query_vars['mrdrct'])) {
$mVar = $wp_query->query_vars['mrdrct'];
echo "variable is $mVar <br />";
}

Просто для того, чтобы проверить, правильно ли все прошло. Однако, когда я использую ссылку с переменной url, например, www.mydomain.com/?mrdrct=myVarable, меня не перенаправляют на домашнюю страницу моего сайта Wordpress, которая настроена на статическую страницу с шаблоном. Вместо этого меня направляют на страницу с моими последними сообщениями. Я не могу понять, почему это происходит - какие-либо идеи? Надеюсь, я объяснил это достаточно хорошо.

Спасибо.

1 Ответ

0 голосов
/ 07 ноября 2011

Когда WP видит строку запроса (? после URL), она пытается отобразить соответствующие сообщения, используя свои правила перезаписи.Если ни одно из сообщений не соответствует, будет отображаться ошибка 404 - я думаю, у вас нет файла 404.php, поэтому WP показывает значение по умолчанию index.php (см. Иерархия шаблонов Wordpress для более подробной информациина этом).

Я не уверен на 100%, чего вы хотите достичь, но я бы посоветовал вам взглянуть на изменение запроса, когда установлен $wp_query->query_vars['mrdrct'].См. WP Codex для query_posts(), чтобы узнать, с чего начать, если вы еще не знакомы с ним.

...