Правила переписывания WordPress - PullRequest
0 голосов
/ 21 мая 2018

У меня есть установка Wordpress Multisite, и я добавляю пользовательский тип записи с именем course в блоге 1, а затем выбираю другие блоги, в которых я хочу их видеть.

В других блогах добавляю страницу, которую я использую как однушаблон курса.

URL-адрес этой страницы:

http://example.com/blogName/course/?course-name=lorem-ipsum&course-id=xx

Я хотел бы, чтобы URL был таким

http://example.com/blogName/course/lorem-ipsum

и я хотел бы получить параметр ID курса на странице шаблона.

Я пытался использовать add_rewrite_rule, но я не могу сделатьчто я хочу.

add_filter('query_vars', 'my_query_vars', 10, 1);
function my_query_vars($vars) {
    $vars[] = 'course-name';
    return $vars;
}

add_action( 'init', 'init_custom_rewrite' );
function init_custom_rewrite() {
    add_rewrite_rule(
    '^course/([^/]*)/?','index.php?course-name=$matches[1]','top');
}

Как я могу это сделать?Мне нужно что-то добавить в .htaccess?

1 Ответ

0 голосов
/ 21 мая 2018

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

flush_rewrite_rules( true );

Документацию по этой функции можно найти на сайт документации для разработчиков .

Вы также можете косвенно вызвать эту функцию, просто сохранив настройки Постоянных ссылок на панели инструментов, перейдя к Settings > Permalinks.

...