2012-10-11 1 views
0
  
add_filter('query_vars', 'add_query_vars'); 
  
function add_rewrite_rules($aRules) { 
    $aNewRules = array('societies/([^/]+)/?$' => 'index.php?pagename=societies&sid=$matches[1]'); 
    $aRules = $aNewRules + $aRules; 
    return $aRules; 
} 
  
add_filter('rewrite_rules_array', 'add_rewrite_rules'); 


function add_query_vars($aVars) { 
    $aVars[] = "page_id";    // represents the name of the variable as shown in the URL 
    return $aVars; 
} 
  
add_filter('query_vars', 'add_query_vars'); 

Так что я пытаюсь использовать настраиваемую переменную get для перенаправления. В настоящее время у меня есть перенаправление, которое приводит вас к разделу моего сайта: например, zzz.net/dashboard?page_id=2278, но я получаю 404 страницу, поэтому я добавил этот код. Основная проблема: у меня действительно нет лучшего представления о том, что я делаю.wordpress redirect не работает

Причина, по которой я хочу иметь? Page_id = 2278 и т. Д. При перенаправлении, так что я могу знать, откуда пользователь только что пришел, до того, как попал на страницу панели мониторинга.

Консультирование и руководство могут быть более полезными, чем просто ответы. В любом случае, благодарю вас за то, что вы нашли момент, чтобы посмотреть на это.

+0

Из любопытства у вас есть страница Wordpress с идентификатором 2278? – maiorano84

+0

Я использую расширенные настраиваемые поля, чтобы указать конкретные части формы. Этим формам дается ссылка page_id = 2278 и т. Д. Это нужно знать, какую форму/прошение кто-то просто заполнил. Таким образом, я могу обслуживать их настроенную информацию в своей «приборной панели». –

+0

Это не отвечает на мой вопрос. Параметр page_id является признанной переменной Wordpress GET. Если у вас нет страницы Wordpress с идентификатором 2278, то я не совсем удивлен, что вы получаете 404. – maiorano84

ответ

0

Переменная GET с именем 'page_id' используется ядром Wordpress при запросе любых объектов страницы.

С другой стороны, если бы вы изменить запрос к «р = 2786», то Wordpress будет пытаться искать сообщение с идентификатором 2786.

Имея эту переменную в вашем URL, Wordpress становится запутался и пытается вернуть страницу с идентификатором того, что определено вашим запросом GET. Чтобы предотвратить конфликты имен, подобные этим, всегда лучше добавлять префикс к любым именованным переменным, доступным в глобальной области.

Измените имя своей переменной GET на что-то еще (то есть: WJ_page_id), чтобы убедиться, что вы не противоречите никаким основным переменным Wordpress.

+0

спасибо, что сработали как шарм, я ценю ваше терпение. –

+0

Без проблем. Это довольно легко забыть, поэтому, пожалуйста, отметьте это как ответ, если у других пользователей будет тот же вопрос, что и вы. – maiorano84