Intereting Posts

Запрошенные URL-адреса при использовании пользовательского правила перезаписи

У меня в основном такая же проблема, как вопрос № 44117. У меня есть настраиваемый набор правил перезаписи с использованием add_rewrite_rule, но когда пользователь переходит на страницу, введенный url изменяется и значение теряется.

Пользователь вводит: членство / профиль-член / имя-профиля /

И направляется в: членство / профиль участника /

Вот мой код перезаписи:

function profile_rewrite() { add_rewrite_rule('membership/member-profile/([^/]+)/?', 'index.php?pagename=member-profile&profile=$matches[1]', 'top'); } add_action('init', 'profile_rewrite'); 

Я много часов занимаюсь исследованиями, и, хотя я нашел других с подобной проблемой, никогда не было определенного решения.

Может быть, это проблема с моими настройками WordPress? Если я укажу URL-адрес:

index.php? ИмяСтраницы = член-профиль и профиль = тест

Я перенаправлен:

членство / член-профиль /? ИмяСтраницы = член-профиль и профиль = тест

Что возвращает ошибку 404.

Заранее благодарю за любую помощь. Я довольно новичок в этом материале WordPress, и, возможно, я слишком быстро перескакиваю.

Solutions Collecting From Web of "Запрошенные URL-адреса при использовании пользовательского правила перезаписи"

это:

 add_rewrite_rule( 'membership/member-profile/([^/]+)/?$', 'index.php?pagename=member-profile&profile=$matches[1]', 'top' ); 

должно быть:

 add_rewrite_rule( 'membership/member-profile/([^/]+)/?$', 'index.php?pagename=membership/member-profile&profile=$matches[1]', 'top' ); 

разница в pagename должна содержать родительский / дочерний путь.

Кроме того, если profile не является признанным запросом var, его необходимо добавить для доступа:

 function wpse47596_query_vars( $query_vars ){ $query_vars[] = 'profile'; return $query_vars; } add_filter( 'query_vars', 'wpse47596_query_vars' );