Пользовательское правило перезаписи для бэкэнда / администратора?

Я хотел бы создать пользовательское правило перезаписи, которое займет URL:

http://domain/submit-project/add

но отображение

http://domain/wp/wp-admin/post-new.php?post_type=project

Есть какой-либо способ сделать это? Я пытаюсь добавить правило перезаписи так в functions.php my.php моей темы

 add_action( 'init', 'add_custom_rules' ); function add_custom_rules() { add_rewrite_rule( "^submit-project/add", "/wp/wp-admin/post-new.php?post_type=project", "top"); } 

Я пробовал стирать правила, но это всегда, кажется, входит в какой-то цикл, всегда возвращающийся на страницу входа.

редактировать

  1. URL-адрес фактически всего лишь 404-х сейчас
  2. Я должен добавить, что у меня есть страница с submit-project slug submit-project и таким образом URL: http://domain.com/submit-project в случае, если это имеет значение.
  3. Я установил инспектор правил перезаписи плагинов и не могу найти свое правило там.

В общем, это возможно, но вам необходимо определить ADMIN_COOKIE_PATH в вашем wp-config.php для значения / которое может вызвать проблемы с безопасностью.

Прежде всего определите эти правила перезаписи в вашем .htaccess прямо перед правилом перезаписи wordpress:

 # Make sure, there is a trailing slash RewriteRule ^submit-project/add$ submit-project/add/ [R=301,L] # mask the urls RewriteRule ^submit-project/add/$ /wp/wp-admin/post-new.php [L,QSA] RewriteRule ^submit-project/add/post.php?$ /wp/wp-admin/post.php [L,QSA] # this is the wordpress rule: RewriteRule . /index.php [L] 

Теперь вам нужно определить константу в wp-config.php

 define( 'ADMIN_COOKIE_PATH', '/' ); 

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