iij
Ответы в темах
-
уфф. мозг стёрся порядочно от этой проблемы. еще мой деревянный английский…но в итоге complete (при достижении профита минут пять прыгал с поднятыми руками)
как в итоге было сделано (если вдруг кому надо):
в functions.php темы добавляем:
принудительное обновление пермалинков:
add_action('init', 'seasons_flush_rewrite_rules'); function seasons_flush_rewrite_rules() { global $wp_rewrite; $wp_rewrite->flush_rules(); }добавление нового правила обработки (по ссылке двумя постами выше более продвинутый вариант, который с помощью RewriteAPI`шных функций генерируют правила для всех возможных вариантов. У меня же урезанный вариант, т.к. больше и не надо) :
add_action('generate_rewrite_rules', 'seasons_add_rewrite_rules'); function seasons_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'seas/(.+?)/?$' => 'index.php?pagename=seas&se=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; }Чтобы не просто адресная строка менялась, но и заключенная в ней нужная нам переменная сохранялась:
function query_vars($public_query_vars) { $public_query_vars[] = "se"; return $public_query_vars; } add_filter('query_vars', 'query_vars');После чего в шаблон странички добавляем:
global $wp_query, $wp_rewrite; if ($wp_rewrite->using_permalinks()) { $seas = $wp_query->query_vars['se']; } else { $seas = $_REQUEST['se'];//или GET }$seas — то что нужно.
опять же, всё это есть тут и даже тут, я просто подрезал од себя.
всем спасибо.
http://www.prodeveloper.org/create-your-own-rewrite-rules-in-wordpress.html
что-то уже близкое… уже щупаю) (от помощи всё еще не отказываюсь=)вроде бы это в wp-includes/rewrite.php
http://phpxref.com/xref/wordpress/wp-includes/rewrite.php.source.htmlухх
спасибо, что отозвались
1. ну вот, http://mysite.ru/wp/seas/2008-2009/ не работает (а работает вариация http://mysite.ru/wp/seas/?se=2008-2009)
2. да, я тоже вчера вечером подумал.
строка
RewriteRule . /wp/index.php [L]
как я понял, означает «всю адресную строку вордпресса заменяем на index.php, который уже внутри обрабатывает всё это».
Значит, можно внутри него вставить фрагменты обработки и моих переменных наравне с cat, p и другими.
Осталось только узнать, где в коде это осуществляется.