Страницы должны иметь приоритет при использовании add_rewrite_rule

Я использую следующий код для динамических страниц

function custom_rewrite_basic() { add_rewrite_rule('^prefix-(.*)', 'foo/bar/index.php?page=$matces[1]', 'top'); } add_action('init', 'custom_rewrite_basic'); 

Это ловит /prefix-* страницы и обслуживает мой файл index.php . Например: /prefix-foo служит для foo/bar/index.php?page=foo .

Если я добавлю новую страницу с url /prefix-foo , я хочу, чтобы у нее был приоритет (для обслуживания содержимого из базы данных, а не из моего PHP-файла).

Как я могу это сделать без изменения регулярного выражения?

Если я правильно вас понимаю, вы можете попытаться заменить:

 add_rewrite_rule( '^prefix-(.*)', 'foo/bar/index.php?page=$matces[1]', 'top' ); 

с

 add_rewrite_rule( '^prefix-(.*)', 'foo/bar/index.php?page=$matces[1]', 'bottom' ); 

Из Кодекса :

« top » будет иметь приоритет над существующими правилами WordPress, где « bottom » будет проверять все остальные правила, совпадающие в первую очередь. По умолчанию: " bottom "