Я просто наткнулся на эту страницу с почти такими же требованиями, как мои
Несколько конечных точек на одной странице
я должен достичь такой же функциональности, но я также хочу передать некоторые параметры на страницу, где все эти URL будут отображаться на карте. пример
http://mysite.com/test/link1 http://mysite.com/test/link2 http://mysite.com/test/link3
я хочу сопоставить их с тем же URL-адресом
http://mysite.com/test/finalDestination
наряду с этим я также хочу отправить некоторые другие параметры, такие как
так что я могу использовать их на этой странице для своей пользовательской логики. Я знаю, как это сделать в JSP / Java, где я могу отправить их в качестве параметров запроса в запрос POST и может вернуть их в финальный JSP
как я могу добиться этого, WordPress, используя prefrences php.my, не должен использовать строку запроса.
Или возможно, если я создаю URL-адрес с
http://mysite.com/test/user1 http://mysite.com/test/user2 http://mysite.com/test/user3
где user1 и т. д. могут быть получены из базы данных, и мы можем гарантировать, что они будут уникальными через приложение и будут отображать эти URL-адреса в одну и ту же конечную точку. как я могу получить имя пользователя на моей последней странице?
заранее спасибо
Вы можете использовать тот же ответ, что и вопрос, на который вы ссылались (я ответил на него). Вот как вы можете изменить аргументы:
<?php add_action('init', 'add_my_rule'); function add_my_rule() { global $wp; $wp->add_query_var('args'); add_rewrite_rule('test\/finaldestination\/(.*)','index.php?pagename=about&args=$matches[1]','top'); } ?>
Предполагая, что «finaldestination» остается неизменным всегда, а pagename (slug) – «около» (вы можете изменить оба). Примените свой шаблон к этой странице и в шаблоне, сделайте следующее:
//if you visit http://.../test/finaldestination/name/romeo, then $params will be name/romeo. You can explode this and get the value. $params = get_query_var('args');
После того, как вы поместите этот код в свой файл, просто зайдите в « Settings>Permalinks
и нажмите кнопку «Сохранить». Я не пробовал это, но использовал что-то подобное в недавнем проекте, и я уверен, что он сработает.
Просто не забудьте добавить канонический URL-адрес в заголовок дубликатов страниц, ссылаясь на основной экземпляр страницы … иначе вы получите дублирующийся контент, что плохо для SEO (важно только в том случае, если эти страницы являются общедоступными и индексируется).
Также будет идти на author.php темы или permalink% author% в случае, если это обычные пользователи WordPress. Вы можете получить доступ к данным примерно так:
$author = get_user_by('slug', $author_name); $author_id = (int)$author->ID; $name = $author->first_name.' '.$author->last_name;
WP Codex: get_user_by ()
Если ваши слова правильно меня поняли, возможные решения можно найти здесь:
Для первой части вы можете использовать плагин WordPress Redirection, чтобы легко удовлетворить ваши потребности.
Во второй части вы можете использовать % author% для структур постоянной ссылки. Проверьте код.