Я перепробовал множество ответов на один и тот же вопрос здесь, на stackoverflow, но не могу заставить его работать.
Я собираюсь создать собственный плагин для профиля, используя постоянную ссылку / profile / user. До сих пор я создал страницу под названием «профиль» с шорткодом для моего плагина, который в настоящее время просто печатает имя пользователя из URL. Если я go на website.com/profile?username=test без изменений в функциях. php загрузит плагин и отобразит имя пользователя.
Когда я пытаюсь переписать это в постоянную ссылку, это выдаст мне ошибку 404, однако я могу получить доступ к $ wp-> query_vars ["username"] так, по крайней мере, это работает. Вот код, который я использую, расположенный в функциях. php.
add_filter('rewrite_rules_array','mycode_add_rewrite_rules');
function mycode_add_rewrite_rules($rules){
$newrules = array();
$newrules['profile/([^/]+)/?'] = 'index.php?pagename=profile&username=$matches[1]';
return $newrules + $rules;
}
add_filter('query_vars','mycode_add_rewrite_query_vars');
function mycode_add_rewrite_query_vars($vars){
array_push($vars, 'username');
return $vars;
}
Прочитав больше об этом, я также попытался добавить add_rewrite_endpoint в профиль
add_action('init', 'mycode_add_endpoints');
function mycode_add_endpoints()
{
add_rewrite_endpoint('profile', EP_PAGES);
}
Я также попробовал конечная точка на имени пользователя также безуспешно. Я сбрасывал постоянные ссылки каждый раз, когда вносил изменения.
Стоит отметить, что после добавления кода в функции. php и постоянная ссылка, и обычный URL-адрес выдадут 404.
Что я отсутствует