Intereting Posts
Список алфавитов категории Как вывести информацию с страницы и ввести данные в таблицу базы данных пользователей WordPress Шаблон перепутался с просмотром сообщений какие эффективные способы отладки cron Перенаправление пользователя при первом посещении на основе географического местоположения Опубликовать в нескольких категориях, чтобы оставаться в текущей категории (постоянная ссылка, следующая предыдущая ссылка) Я хочу удалить ссылки из списка терминов, возвращаемого get_the_term_list Как включить локальное меню на основе идентификатора страницы? Почему WordPress объединяет термин с тем же именем в таблице wp_terms? Как я могу разбивать на страницы результаты get_children как установить значение по умолчанию для флажка в wordpress Как обращаться с функцией shortcode напрямую? Отключить «быстрое редактирование» только для не admin в functions.php Панель администратора полностью исчезает в теме 2010 года Переводы WordPress

Как создать конечную точку без создания дополнительных оконечных точек?

Я пытаюсь создать новую конечную точку, используя add_rewrite_endpoint() . Вот мой код:

 // Add query var. add_filter( 'query_vars', function( $vars ) { $vars[] = 'my-endpoint'; return $vars; } ); // Add endpoint. add_action( 'init', function() { add_rewrite_endpoint( 'my-endpoint', EP_AUTHORS ); } ); 

Теперь я могу посетить example.com/author/my-endpoint, который отличен, но «суб» конечные точки также работают. Например:

  • example.com/author/my-endpoint/random
  • example.com/author/my-endpoint/anything-here

Как я могу создать свою конечную точку без создания этих «суб» конечных точек?

Solutions Collecting From Web of "Как создать конечную точку без создания дополнительных оконечных точек?"

Правило rewrite добавлено:

 add_rewrite_endpoint( 'my-endpoint', EP_AUTHORS ); 

является

 author/([^/]+)/my-endpoint(/(.*))?/?$ => index.php?author_name=$matches[1]&my-endpoint=$matches[3] 

поэтому он принимает что-либо после eg /author/henrywright/my-endpoint/...

Вместо этого вы можете вместо этого заменить его на add_rewrite_rule() например

 add_rewrite_rule( '^author/([^/]+)/my-endpoint/?$', 'index.php?author_name=$matches[1]&my-endpoint=1', 'top' );